编写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文件指定的规则编译生成目标文件。