我想总是用相同的命令行调用顶级makefile。我试过了:
.PHONY: %
%:
$(MAKE) -C ${CURDIR}/.. ${CURDIR}/$*
但它不起作用:(
我想总是用相同的命令行调用顶级makefile。我试过了:
.PHONY: %
%:
$(MAKE) -C ${CURDIR}/.. ${CURDIR}/$*
但它不起作用:(
我不确定你想做什么。您是说对于此目录中的任何 make 调用,您都希望使用相同的参数在不同的目录中运行 make?
你不能完全做到这一点,但这会让你接近:
.DEFAULT:
$(MAKE) -C ${CURDIR}/.. $@
我不知道你为什么在目标名称中$*
加上前缀$(CURDIR)
...?
此调用与原始调用的最大区别在于它将为每个目标运行单独的 make 过程;也就是说,如果您运行make foo bar
它将调用“顶级makefile”两次:一次使用目标,foo
然后再次使用目标bar
。没有办法避免这种情况,我能想到的。