Makefile
常我们在Makefile中会定义一些变量,方便Makefile的修改维护
src = main.c func1.c func2.c
CC = gcc #arm-linux-gcc
CPPFLAGS : C预处理的选项 如:-I
CFLAGS:C编译器的选项 –Wall –g -c
LDFLAGS :链接器选项 –L -l
自动变量:
$@:表示规则中的目标
$<:表示规则中的第一个条件
$^:表示规则中的所有条件,组成一个列表,以空格隔开,如果这个列表中有重复的项则消除重复项
CC = gcc #预处理标志,头文件在什么位置 CPPFLAGS = -Iinclude #编译的时候 CFLAGS = -g -Wall #加载的时候,指定库路径 LDFLAGS = L../lib lmylib target = app src = $(wildcard *.c) obj = $(patsubst %.c,%.o,$(src)) $(target):$(obj) $(CC) $^ -o $@ #%.o:%.c # $(CC) -c $< -o $@ .PHONY:clean clean: rm -f *.o rm -f $(target) test: @echo $(src)