编写Makefile文件有以下几个步骤:
-
确定目标文件:Makefile文件中首先需要确定要生成的目标文件(可执行文件、库文件等)。
-
定义依赖关系:确定目标文件所依赖的源文件和其他目标文件。
-
编写规则:为每个目标文件编写规则,即指定如何生成目标文件的命令。
-
定义变量:定义需要使用的变量,例如编译器、编译选项等。
-
编写伪目标:如果需要定义一些特殊的目标,如清理目标、安装目标等,可以编写对应的伪目标。
-
编写默认目标:如果需要指定默认生成的目标文件,可以编写默认目标。
示例Makefile文件:
# 定义变量 CC = gcc CFLAGS = -Wall -g # 默认目标文件 all: myprog # 目标文件依赖关系及规则 myprog: main.o func.o $(CC) $(CFLAGS) -o myprog main.o func.o main.o: main.c $(CC) $(CFLAGS) -c main.c func.o: func.c $(CC) $(CFLAGS) -c func.c # 伪目标 clean: rm -rf *.o myprog
在命令行中执行make
命令即可按照Makefile文件指定的规则编译生成目标文件。