how to write a simple makefile
1 IDIR =../include 2 CC=gcc 3 CFLAGS=-I$(IDIR) 4 5 ODIR=obj 6 LDIR =../lib 7 8 LIBS=-lm 9 10 _DEPS = hellomake.h 11 DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS)) 12 13 _OBJ = hellomake.o hellofunc.o 14 OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ)) 15 16 17 $(ODIR)/%.o: %.c $(DEPS) 18 $(CC) -c -o $@ $< $(CFLAGS) 19 20 hellomake: $(OBJ) 21 gcc -o $@ $^ $(CFLAGS) $(LIBS) 22 23 .PHONY: clean 24 25 clean: 26 rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~
参考:http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/
再来一个简单的模板
1 CC?=gcc 2 CFLAGS+= -g -Wall 3 LDFLAGS= 4 LIBS=-lpthread 5 6 test: bootstrap.o object.o test.o 7 $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) 8 9 %.o: %.c 10 $(CC) $(CFLAGS) -c -o $@ $^ 11 12 clean: 13 rm *.o test
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步