示例:
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脚本
#!/bin/bash # Build the example project 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
3. 简单的Makefile文件
appexp: main.o app.o bar.o lib.o gcc -o appexp main.o app.o bar.o lib.o main.o: src/main.c src/lib.h src/app.h gcc -c -o main.o src/main.c app.o: src/app.c src/lib.h src/app.h gcc -c -o app.o src/app.c bar.o: src/bar.c src/lib.h gcc -c -o bar.o src/bar.c lib.o: src/lib.c src/lib.h gcc -c -o lib.o src/lib.c
Makefile变量
...
模式匹配规则
...
自动依赖跟踪
...