2024年3月24日发(作者:)

Makefile文件编写详解

——WangYiwei

利用makefile工具可以自动完成编译工作。如果仅修改了几个源文件,则只重新编译

这几个源文件,其他没有修改的不再去编译。如果某个头文件被修改,则只重新编译包含

这几个头文件的源文件。因此可以简化开发工作。

格式:

TARGET(目标) :DEPENDENCIES(依赖)

COMMOND(命令)

目标:程序要产生的文件,如可执行文件和目标文件。目标也可以是要执行的动

作,如clean也成为伪目标。

依赖:是用来产生目标输入文件列表,一个目标通常依赖于多个文件。

命令:是make执行的动作(命令是shell命令或是可在shell下执行的程序)。

注意:每个命令行的起始字符都是table字符

$@ 规则目标文件名

$< 规则第一个依赖文件名

$^ 规则的所有文件列表

例子:

(1)生成一个可执行文件:

说明:在01目录下有main.c sub.c sub.h add.c add.h Makefile,以下部分是

Makefile的内容

①简单的例子

.PHONY: clean

#显示地指出clean为伪目标,防止当前目录下存在clean文件,不能进行清理工作

main: main.o add.o sub.o

gcc main.o add.o sub.o -o main

main.o: main.c add.h sub.h

gcc -c main.c -o main.o

add.o: add.c add.h

gcc -c add.c -o add.o