如何在使用并行执行时使用特定于目标的变量值并调用其他规则?

问题描述 投票:0回答:1

我有一个包含以下行的makefile:

debug: CFLAGS += $(DEBUGFLAGS)
debug: clean all

我想做的是使用目标特定变量值运行“干净”和“全部”。如预期般运作正常。

但是如果我使用并行执行来运行此命令,那么'clean'可能会破坏'all'创建的文件。

因此,如果我执行以下操作:

debug: CFLAGS += $(DEBUGFLAGS)
debug:
    $(MAKE) clean
    $(MAKE) all

这将确保遵守规则的顺序。但是目标特定变量将不会被纳入make的新调用中。

所以我想知道如何同时使用目标特定变量和并行执行。

makefile parallel-processing gnu-make
1个回答
0
投票

为什么不同时传递这些值?

debug: CFLAGS += $(DEBUGFLAGS)
debug:
        $(MAKE) clean CFLAGS='$(CFLAGS)'
        $(MAKE) all CFLAGS='$(CFLAGS)'
© www.soinside.com 2019 - 2024. All rights reserved.