项目文件目录为:
常见c项目结构.pngmakefile通用写法:
#获取当前目录下的src目录下的所有以.c结尾的文件名
src = $(wildcard ./src/*.c)
#把上门的文件改成在当前目录下的obj目录,同时文件结尾换成.o
obj = $(patsubst ./src/%.c,./obj/%.o,$(src))
#定义CC变量
CC = gcc
#定义最终生成的目标文件名
target = app
ALL = $(target)
# $^ :所有依赖,$<:第一个依赖,$@:目标
$(target):$(obj)
$(CC) $^ -o $@
$(obj):./obj/%.o:./src/%.c
$(CC) -c $< -o $@ -I ./inc
clean:
-rm -rf $(obj) $(target)
.PHONY:clean ALL
网友评论