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)

 

 

 

posted @ 2019-02-23 17:19  狂奔~  阅读(133)  评论(0编辑  收藏  举报