如何基于在命令行中传递给变量的值有条件地构建目标及其所有依赖项?

mod*_*od0 3 gnu-make

我查看了GNU Makefile条件语句的文档,但是找不到有关如何有条件地构建目标及其依赖项的任何信息。

编辑:当我有条件地说时,我的意思是依赖于在调用make时在命令行中设置的变量值。抱歉,您没有早点说明。

要添加到上面的编辑。如果在命令行中设置的某些变量具有特定值,即使需要更新目标及其依赖项,我也要避免这样做。

GNU Makefile条件文件

谢谢!

Mad*_*ist 5

怎么样呢?

ALL_TARGETS = foo bar

ifndef SOME_VARIABLE
    ALL_TARGETS += biz baz
endif

all: $(ALL_TARGETS)
Run Code Online (Sandbox Code Playgroud)

现在,如果你运行make它会建立foobarbiz,和baz,你要是跑不过make SOME_VARIABLE=true它只会建立foobar

关于非常通用的,无细节的问题,这是我们可以建议的所有问题。