objs=$(patsubst %.c, %.o, $(wildcard *.c)) #將所有的*.c文件替換成*.o, .o可以作爲目標文件. target=app #目標應用程序變量名 CC=gcc #編譯工具鏈指定 CPPFLAGS=-Iinclude #預編譯標緻-I -D等 CFLAGS=-g -Wall #編譯標緻 -g -Wall -fpic -O1等 LDFLAGS=-lmylib #鏈接標緻 $(target):$(objs) #生成target所需要的依賴 $(CC) $^ $(LDFLAGS) -o $@ #生成target編譯命令 %.o:%.c #每個.c文件編譯成.o文件 $(cc) -c $^ $(CPPFLAGS) $(CFLAGS)-o $@ #編譯規則 .PHONY : clean #將clean指定爲僞命令 clean : -rm $(target) $(objs) #清楚生成的文件
將該文件丟到工程目錄下,直接保存成makefile或者Makefile,然後直接執行make