gnu-make - 如何根据传递给命令行变量的值有条件地构建目标及其所有依赖项?

标签 gnu-make

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

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

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

GNU Makefile Conditionals

谢谢!

最佳答案

比如:

ALL_TARGETS = foo bar

ifndef SOME_VARIABLE
    ALL_TARGETS += biz baz
endif

all: $(ALL_TARGETS)

现在,如果您运行 make,它将构建 foobarbizbaz ,但是如果您运行 make SOME_VARIABLE=true,它只会构建 foobar

对于非常笼统、没有具体细节的问题,我们可以提供所有建议。

关于gnu-make - 如何根据传递给命令行变量的值有条件地构建目标及其所有依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38344900/

相关文章:

makefile - 获取 "make: Nothing to be done for ' 目标的错误'"

vim - 如何在vim中显示实际的语法高亮?

gnu-make - GNU make 先决条件执行顺序

linux - GNU make - 只依赖于文件存在而不是修改时间

c++ - GNU Automake - 构建与其依赖项静态链接的动态库

c - Makefile 将来自不同目录的源文件构建到同一个对象目录中

makefile - IBM AIX 附带的 make 实用程序与 gnu make 兼容吗

build-process - 用makefile和静态模式规则进行树外构建

makefile - gnu-make:我应该引用ifeq语句的内容吗?

c - 如何创建 Makefile 以在 C 中编译单个任意文件名