我希望始终使用相同的命令行调用顶级makefile。我试过了:
.PHONY: %
%:
$(MAKE) -C ${CURDIR}/.. ${CURDIR}/$*
但它不起作用:(
答案 0 :(得分:1)
我不确定你要做什么。你是说在这个目录中调用make你想在不同的目录中使用相同的参数运行make吗?
你不能完全这样做,但这会让你接近:
.DEFAULT:
$(MAKE) -C ${CURDIR}/.. $@
我不知道为什么你在$*
前面加$(CURDIR)
作为目标名称的前缀......?
这与原始调用之间的最大区别在于它将为每个目标运行单独的make进程;也就是说,如果您运行make foo bar
,它将调用“顶级makefile”两次:一次使用foo
目标,然后再次使用bar
目标。我无法想到这一点。