linux c++(makefile)

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)
上一篇:MakeFile的使用


下一篇:Makefile教程