条件:
make -f ../makefile hi
hi
目标也会调用make
我需要一种方法将值从-f
传播到在hi
内运行的sub-make命令。
bye:
echo 'whatever'
hi:
${MAKE} bye
答案 0 :(得分:0)
我唯一知道的可能是使用MAKEFILE_LIST
变量:
CURR_MAKEFILE:=$(lastword $(MAKEFILE_LIST))
bye:
echo 'whatever'
hi:
+$(MAKE) -f $(CURR_MAKEFILE) bye
但请注意,正如官方文档中所写,该变量记录了所有已解析的makefile,包括include
ed文件。在任何包含之前,在makefile的最顶部查询时,变量的值才可靠。
答案 1 :(得分:0)
假设当前目录中没有默认的makefile
(大概是你通过-f ../makefile
)的原因
如果您调用,示例../makefile
将按原样运行
make
喜欢:
$ make MAKEFILES=../makefile hi
make bye
make[1]: Entering directory '/home/imk/develop/scrap'
echo 'whatever'
whatever
make[1]: Leaving directory '/home/imk/develop/scrap'
如果 是当前目录中的默认makefile,那么这个
方法将导致make
读取默认的makefile
阅读../makefile
,结果不尽如人意。在这种情况下,请更喜欢@ Dummy00001的答案。