有一个 make 的环境变量叫“MAKECMDGOALS”,这个变量中会存放你所指定的终极目标的列表,如果在命令行上,你没有指定目标,那么,这个变量是空值。这个变量可以让你使
用在一些比较特殊的情形下。比如下面的例子:
用在一些比较特殊的情形下。比如下面的例子:
sources = foo.c bar.c
ifneq ( $(MAKECMDGOALS),clean)
include $(sources:.c=.d)
endif
基于上面的这个例子,只要我们输入的命令不是“make clean”,那么 makefile 会自动包含“foo.d”和“bar.d”这两个 makefile。
参考资料:《跟我一起写Makefile》-陈浩
本文介绍了Makefile中的MAKECMDGOALS环境变量,该变量用于存储指定的目标列表。当命令行未指定目标时,其值为空。文章通过示例说明了如何使用此变量仅在非清洁目标的情况下包含特定文件。
2258

被折叠的 条评论
为什么被折叠?



