Makefile 如何跟踪递归make?
我需要在一个系统上工作,该系统使用自动生成工具并递归生成 “make-n”仅跟踪make的顶层 有没有办法让make在遇到make命令时执行make-n?使用Makefile 如何跟踪递归make?,makefile,trace,recursion,Makefile,Trace,Recursion,我需要在一个系统上工作,该系统使用自动生成工具并递归生成 “make-n”仅跟踪make的顶层 有没有办法让make在遇到make命令时执行make-n?使用$(make)调用子kefile,而不是使用make。这应该行得通。在手册中签出。下面是一个简单的例子: 生成文件: all: @$(MAKE) -f Makefile2 Makefile2: all: @echo Makefile2 命令行: $ make Makefile2 $ make -n make -f Mak
$(make)
调用子kefile,而不是使用make
。这应该行得通。在手册中签出。下面是一个简单的例子:
生成文件:
all:
@$(MAKE) -f Makefile2
Makefile2:
all:
@echo Makefile2
命令行:
$ make
Makefile2
$ make -n
make -f Makefile2
echo Makefile2
$
使用$(MAKE)
调用子基文件,而不是使用MAKE
。这应该行得通。在手册中签出。下面是一个简单的例子:
生成文件:
all:
@$(MAKE) -f Makefile2
Makefile2:
all:
@echo Makefile2
命令行:
$ make
Makefile2
$ make -n
make -f Makefile2
echo Makefile2
$
递归生成文件是否如下所示:
foo:
make -C src1
make -C src2
foo:
${MAKE} -C src1
${MAKE} -C src2
或者像这样:
foo:
make -C src1
make -C src2
foo:
${MAKE} -C src1
${MAKE} -C src2
我认为,如果希望将标志传递给子make进程,则需要使用第二种样式。可能是您的问题。您的递归生成文件如下所示:
foo:
make -C src1
make -C src2
foo:
${MAKE} -C src1
${MAKE} -C src2
或者像这样:
foo:
make -C src1
make -C src2
foo:
${MAKE} -C src1
${MAKE} -C src2
我认为,如果希望将标志传递给子make进程,则需要使用第二种样式。可能是您的问题。将环境变量“MAKEFLAGS”设置为“n”可能会满足您的需要 这里有一些更高级的跟踪make命令的技巧:
这些技巧中最简单的就是将SHELL=“sh-x”添加到make命令中(在这种情况下运行时不带“-n”)。将环境变量“MAKEFLAGS”设置为“n”可能会满足您的需要 这里有一些更高级的跟踪make命令的技巧: 这些技巧中最简单的就是将SHELL=“sh-x”添加到make命令中(在这种情况下运行时不带“-n”)