makefile
makefile|Makefile
目标:依赖
tab键 规则命令
版本一
app:main.c add.c
gcc -o app -I./include main.c add.c
版本二
app: main.o add.o
gcc -o app -I./include main.o add.o
main.o: main.c
gcc -c main.c -I./include
add.o: add.c
gcc -c add.c -I./include
终极版本
# 文件匹配
srcFiles=$(wildcard *.c)
# 内容替换
dstFiles=$(patsubst %.c,%.o,$(srcFiles))
# 自定义变量
objName=app
all:$(objName)
#$@ 代表目标 $< 代表第一个依赖 $^代表全部依赖 $?第一个变化的依赖
$(objName):$(dstFiles)
gcc -o $@ -I./include $(dstFiles)
# 模式推导
%.o:%.c
gcc -c $< -I./include
# .PHONY 伪目标,防止有歧义
.PHONY: clean all
# @ 执行不限时 - 忽略错误
clean:
-@rm -f *.o
-@rm -f app
#test:
# echo $(dstFiles)