我有一个包含以下行的makefile:
debug: CFLAGS += $(DEBUGFLAGS)
debug: clean all
我想做的是使用目标特定变量值运行“干净”和“全部”。如预期般运作正常。
但是如果我使用并行执行来运行此命令,那么'clean'可能会破坏'all'创建的文件。
因此,如果我执行以下操作:
debug: CFLAGS += $(DEBUGFLAGS)
debug:
$(MAKE) clean
$(MAKE) all
这将确保遵守规则的顺序。但是目标特定变量将不会被纳入make的新调用中。
所以我想知道如何同时使用目标特定变量和并行执行。
为什么不同时传递这些值?
debug: CFLAGS += $(DEBUGFLAGS)
debug:
$(MAKE) clean CFLAGS='$(CFLAGS)'
$(MAKE) all CFLAGS='$(CFLAGS)'