0

我想总是用相同的命令行调用顶级makefile。我试过了:

.PHONY: %
%:
    $(MAKE) -C ${CURDIR}/.. ${CURDIR}/$*

但它不起作用:(

4

1 回答 1

1

我不确定你想做什么。您是说对于此目录中的任何 make 调用,您都希望使用相同的参数在不同的目录中运行 make?

你不能完全做到这一点,但这会让你接近:

.DEFAULT:
        $(MAKE) -C ${CURDIR}/.. $@

我不知道你为什么在目标名称中$*加上前缀$(CURDIR)...?

此调用与原始调用的最大区别在于它将为每个目标运行单独的 make 过程;也就是说,如果您运行make foo bar它将调用“顶级makefile”两次:一次使用目标,foo然后再次使用目标bar。没有办法避免这种情况,我能想到的。

于 2013-07-17T13:36:36.607 回答