首页 > 解决方案 > 通过环境变量设置 Makefile (GNU Make) 的默认目标

问题描述

我想将 Makefile 的默认目标设置为环境变量的空格分隔值。

为了使该解决方案正常工作,我必须可以设置一个环境变量,然后运行make并使用包含在环境变量中的目标(或可选的以空格分隔的目标),就好像它们作为目标传递一样。

DEFAULT_TARGETS="target target2" make
# ... should produce the same result as ...
make target1 target2

谢谢您的帮助!

标签: gnu-make

解决方案


你可以通过在你的makefile中添加这样的东西来做到这一点:

ifneq ($(DEFAULT_TARGETS),)
__default_targets: $(DEFAULT_TARGETS)
.DEFAULT_GOAL = __default_targets
endif

推荐阅读