概述
main: main.c
gcc main.c -o main
在源代码所在目录新建一个Makefile文件,文件内容为上述内容,保存后在当前目录命令行下输入make
,就可以得到编译后的可执行文件main
上述命令解释如下:
每一个Makefile主体都是有若干个规则模块组成:表明输出的目标(本例为main文件),输出目标的依赖对象(本例为main.c文件),生成目标需要执行的命令(本例为gcc main.c -o main
),具体格式为:
目标/文件: 依赖文件列表
(Tab)命令
注意:
- 命令中前面(TAB)表示用户按了TAB键产生的空白区域。
- 目标通常是要产生的文件名称,也可以是一个执行的动作名称如clean或cleanall等
- 依赖文件列表是用来输入从而产生目标的文件,一个目标经常有几个依赖文件,文件名称之间以空白隔开,如
main: test1.c test2.c
- 命令是make执行的动作,一个规则可以含有几个命令,每个命令占一行。
- 每个命令行前面必须是一个TAB字符,即命令行第一个字符是TAB。
- 如果一个依赖关系发生变化,则需要规则调用命令对相应依赖和服务进行处理,从而更新或创建目标。
- 编译并生成执行代码并不是编写make规则的唯一事情。Makefile文件可让make完成编译程序以外的任务如删除中间文件和可执行文件等。exec_file为可执行文件,中间文件是".o"结尾的文件,代码如下:
clean:
$ rm *.o exec_file