您的位置:首页 > 运维架构 > Linux

linux 编写makefile文件

2016-10-06 15:40 459 查看
makefile的格式:

标(target): 目标文件1 目标文件2

<tab> gcc -o 欲建立的执行文件  目标文件1 目标文件2



(target) 就是我们想要建立的信息,而目标文件就是具有相关性的 object files ,那建立执行文件的诧法就是以 <tab> 按键开头的那一行!特别给他留意喔,『 命令行必须要以 tab 按键作为开头』才行!他的觃则基本上是这样的:

在 makefile 当中的 # 代表批注;

<tab> 需要在命令行 (例如 gcc 这个编译程序指令) 的第一个字符;

标的 (target) 不相依档案(就是目标文件)之间需以『 :』隔开。

简化版的makefile:



我们的 makefile 里面就具有至少两个标的,分别是 main 不 clean ,如果我们想要建立main 的话,输入『 make main』,如果想要清除有的没的,输入『 make clean』卲可啊!而如果想要先清除目标文件再编译
main 这个程序的话,就可以这样输入:『 make clean main』,如下所示



由于 gcc 在进行编译的行为时,会主动的去读取 CFLAGS 这个环境变量,所以,你可以直接在 shell 定义出这个环境变量,也可以在 makefile 档案里面去定义,更可以在指令列当中给予



也可以写成这样



环境变量取用的规则是这样的:

1. make 指令列后面加上的环境变量为优先;

2. makefile 里面指定的环境变量第二;

3. shell 原本具有的环境变量第三。

此外,还有一些特殊的变量需要了解的喔:

$@:代表目前的标的(target)

所以也可以将
makefile 改成(参考鸟哥私房菜基础第三版):


参考鸟哥私房菜基础第三版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: