Make -- 改变系统范围的隐式规则

Posted

技术标签:

【中文标题】Make -- 改变系统范围的隐式规则【英文标题】:Make -- Changing system-wide implicit rules 【发布时间】:2016-08-16 15:58:48 【问题描述】:

假设我有一个文件foo.c,但没有Makefile,当我调用make foo 时,make 的隐式规则很方便地启动并编译foo.c。有没有一种简单的方法可以将 -g-Wall 等几个标志添加到隐式规则中?

我已经看到我可以在 Makefile 中使用模式规则,但我宁愿让这些标志在隐式规则中适用于整个本地计算机 (mac OS)。

【问题讨论】:

【参考方案1】:

您可以在命令行前添加CFLAGS

CFLAGS='-g -Wall' make foo

【讨论】:

【参考方案2】:

我想我找到了一篇你正在寻找的文章:

http://seshbot.com/blog/2014/06/16/make-with-no-makefile-for-c-plus-plus-playgrounds/

基本上,它告诉您将环境变量设置为您始终希望默认传递的标志

【讨论】:

不要只是链接文章,在这里添加一个简短的例子。如果链接失效怎么办?

以上是关于Make -- 改变系统范围的隐式规则的主要内容,如果未能解决你的问题,请参考以下文章

第15课 - make的隐式规则(上)

make 的隐式规则

16.make的隐式规则(下)

makefile--隐式规则

makefile(06)_隐式规则

Makefile 中的隐式规则