1,318
社区成员
发帖
与我相关
我的任务
分享
BIN_DIR = obj
SRCS = test.c
OBJECTS = $(addprefix $(BIN_DIR)/,$(patsubst %.c, %.o, $(SRCS)))
test.out : $(OBJECTS)
gcc -o $@ $<
#VPATH = obj
sinclude $(OBJECTS:.o=.d)
$(BIN_DIR)/%.d : %.c
$(shell if [ -n "$(BIN_DIR)" -a ! -e "$(BIN_DIR)" ];then mkdir -p $(BIN_DIR); fi)
@set -e; rm -f $@; \
gcc -MM $< > $@.$$$$; \
sed 's,\($(notdir $*)\.o\)[: ]*,$(BIN_DIR)\/$*\.o $(BIN_DIR)\/$*\.d : ,' < $@.$$$$ > $@; \
cat $@; \
$(RM) $@.$$$$
clean:
rm *.o *.out *.d -rf obj/
debug:
@echo $(OBJECTS)
@echo $(SRCS)
@echo $(BIN_DIR)