分享一个通用的MAKEFILE模板

CC      = arm-none-linux-gnueabi-gcc
CFLAGS  = -Wall -ffloat-store  -fPIC -Wunused -Dfar= -ggdb -D DEBUG 
LDFLAGS = -ggdb -Wall -Wl,[email protected]
LDLIBS  = -lpthread -lc -lrt

srcs    = $(wildcard *.c) 
objs	= $(patsubst %.c,%.o,$(srcs))

target  = app_host

all : $(target)

$(target) : $(objs)
	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)

%.o : %.c
	$(CC) $(CFLAGS) -c $< -o $@

%.d : %.c
	@set -e; rm -f $@; \
	$(CC) -M $< > $@.$$$$; \
	sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	rm -f $@.$$$$

-include $(srcs:.c=.d)

.PHONY : clean

clean:
	-rm $(target) $(objs) *.d* *.map
发布了83 篇原创文章 · 获赞 127 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_40788950/article/details/89222200
今日推荐