次Makefile 可以适用于工程中包含.cpp 和.c同时存在 还没引入嵌套Makefile
#OBJ_O = test.o main.o
#OBJ_cpp = test.cpp main.cpp
#OBJ_H = test.h comm.h
#bin: $(OBJ_O)
# g++ -o bin $(OBJ_O);
#test.o:test.h comm.h
# g++ -c test.cpp
#main.o:comm.h test.h
# g++ -c main.cpp
#clean:
# rm *.o bin -rf
SRC_FILE := $(wildcard *.cpp)
SRC_FILE += $(wildcard *.c)
SRC_OBJ := $(patsubst %.cpp ,%.o ,$(SRC_FILE))
SRC_OBJ += $(patsubst %.c ,%.o ,$(SRC_FILE))
BIN = bin
DEPS_FILE = makefile.deps
all: $(BIN) $(DEPS_FILE)
$(BIN):$(SRC_OBJ)
g++ -o $@ $^
$(DEPS_FILE):$(SRC_FILE)
g++ -M $^ > $(DEPS_FILE)
-include $(DEPS_FILE)
clean:
rm *.o bin -rf makefile.deps