王马达

导航

HelloWorld Makefile Template

DEPDIR = build_dep
TARGET_NAME = helloworld
CFLAGS = -Wall


SRCS  = main.c
SRCS += foo.c


OBJS   = $(SRCS:%.c=%.o)
all: $(OBJS)
    $(CC) $(CFLAGS) $^ -o $(TARGET_NAME)

debug:
    @echo "CC       = $(CC)"
    @echo "MAKE     = $(MAKE)"
    @echo "SRCS     = $(SRCS)"
    @echo "OBJS     = $(OBJS)"
    @echo "CFLAGS   = $(CFLAGS)"


$(DEPDIR)/%.d: %.c
    $(SHELL) -ec 'mkdir -p $(DEPDIR); \
    $(CC) -MM $(CFLAGS) $< | sed '\''s@\($*\)\.o[ :]*@\1.o $@ : @g'\'' > $@.$$$$; \
    cp $@.$$$$ $@; rm $@.$$$$'

include $(SRCS:%.c=$(DEPDIR)/%.d)

clean:
    @rm -f $(TARGET_NAME)
    @rm -f *.o

 

posted on 2014-10-27 09:52  王马达  阅读(162)  评论(0编辑  收藏  举报