分享一個通用的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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章