包含Makefile本身的参数

时间:2013-10-30 15:33:39

标签: makefile gnu-make

有没有办法让GNU Make在Makefile本身里面包含make的参数?具体来说,如果--check-symlink-times参数始终适用于给定的Makefile,那么在Makefile中有哪些方法可以表示?而不是打电话

$ make --check-symlink-times 

最好只调用make并让Makefile指定一些参数。

$ make

4 个答案:

答案 0 :(得分:2)

我不知道该选项是否特别适用于此机制(我相信有些选项至少在3.81中)但GNU make确实使用MAKEFLAGS支持此概念,如this section中所示手册。

答案 1 :(得分:1)

应该很容易。就像这样在最顶端加上一条规则:

all:
     make --check-symlink-times rest

下面的规则rest执行真正的任务。

答案 2 :(得分:1)

您可以在makefile中设置MAKEFLAGS

MAKEFLAGS := --check-symlink-times

这将启用检查此makefile的符号链接的ctime。这似乎仅适用于更新版本的GNU make,根据我的测试,它适用于版本4.1,但不适用于版本3.81

答案 3 :(得分:0)

我能想到的唯一方法是使用第二个makefile makefile.inner或类似文件,并使用-f从另一个调用一个文件或将您的源文件放在子文件中并使用-C,无论如何这通常是一个好主意