我想在我的makefile中启用详细的编译,但是我不知道如何制作条件OR

让我解释一下:我希望能够通过设置V=1VERBOSE=1来指定详细的编译。我想保持VERBOSE=1可用,因为我们有一些脚本可以使用它(并且仅使用其他知道VERBOSE的makefile)

因此,结果必须是这两个命令相同:

make all VERBOSE=1 # pain to write
make all V=1


现在,我的makefile今天看起来像这样:

ifdef VERBOSE
[issue compilation commands with verbose mode]
endif


我想要实现的目标接近于C中的预处理器:

if defined(VERBOSE) || defined(V)
[issue compilation commands with verbose mode]
endif


你知道怎么做吗?

最佳答案

我喜欢这样:

ifneq "$(or $(LINUX_TARGET),$(OSX_TARGET))" ""

endif


与$(strip方法)类似,但使用更直观的$(或关键字

关于makefile - Makefile中的条件OR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6015343/

10-10 05:53