假设源文件有4个:main.c、file1.c、file2.c、file1.h和file2.h
Makefile文件编写如下:
1 # 最简单的Makefile
2 CC=gcc
3 exec=test.exe
4 obj=main.o file1.o file2.o
5 $(exec) : $(obj)
6 $(CC) -o $(exec) $(obj)
7 $(objects) : %.o : %.c
8 $(CC) -c $<
9
10 .PHONY:clean
11 clean:
12 -rm $(exec) $(obj)
# 标示注释
第1行 ~ 第4行 CC、exec、obj 定义变量,CC表示编译器,exec表示编译成的可执行文件,obj表示目标文件。
第5 行 $() 引用变量, $(exec) : $(obj) 表示exec依赖于obj
第6行 $(CC) -o $(exec) $(obj) 相当于gcc –o test.exe main.c file1.o file2.o
第7行 表示目标文件依赖于具体的源文件
第8行 表示当有文件更新($<)时执行编译
第10行 ~ 第12行 建立一个执行make 的清除选项(make clean)