使用GNU make构建软件
示例:
1. 手工编译
gcc -o appexp src/main.c src/app.c src/lib.c src/bar.c
分解为
gcc -c -o main.o src/main.c
gcc -c -o app.o src/app.c
gcc -c -o lib.o src/lib.c
gcc -c -o bar.o src/bar.c
gcc -o appexp main.o app.o lib.o bar.o
2. buildit脚本
appexp: main.o app.o bar.o lib.o gcc -o appexp main.o app.o bar.o lib.omain.o: src/main.c src/lib.h src/app.h gcc -c -o main.o src/main.capp.o: src/app.c src/lib.h src/app.h gcc -c -o app.o src/app.cbar.o: src/bar.c src/lib.h gcc -c -o bar.o src/bar.clib.o: src/lib.c src/lib.h gcc -c -o lib.o src/lib.c
?
Makefile变量
...
?
模式匹配规则
...
?
自动依赖跟踪
...