X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=Makefile;h=0665d5c1cc140b581d568ab396d26f650e58d494;hb=804bde3fc09e4317eef629861638a68bfad3e343;hp=20b02e9a8f2e025aaacba01869174ad369be1a38;hpb=2d8c7c015478a4528c0909f11d43998b1393948d;p=blank.git diff --git a/Makefile b/Makefile index 20b02e9..0665d5c 100644 --- a/Makefile +++ b/Makefile @@ -19,22 +19,33 @@ CXXFLAGS += -g3 -O0 # release #CPPFLAGS += -DNDEBUG -SRC = $(wildcard src/*.cpp) -OBJ = $(SRC:.cpp=.o) -DEP = $(SRC:.cpp=.d) +SOURCE_DIR := src +BUILD_DIR := build + +SRC = $(wildcard $(SOURCE_DIR)/*.cpp) +OBJ = $(patsubst $(SOURCE_DIR)/%.cpp, $(BUILD_DIR)/%.o, $(SRC)) +DEP = $(OBJ:.o=.d) BIN = blank all: $(BIN) clean: - rm -f $(BIN) $(OBJ) $(DEP) + rm -df $(OBJ) $(DEP) $(BUILD_DIR) + +distclean: clean + rm -f $(BIN) -.PHONY: all clean +.PHONY: all clean distclean -include $(DEP) $(BIN): $(OBJ) - $(LDXX) -o $@ $(CXXFLAGS) $(LDXXFLAGS) $^ + @echo link: $@ + @$(LDXX) -o $@ $(CXXFLAGS) $(LDXXFLAGS) $^ + +$(BUILD_DIR)/%.o: $(SOURCE_DIR)/%.cpp | $(BUILD_DIR) + @echo compile: $@ + @$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ -MMD -MP -MF"$(@:.o=.d)" -MT"$@" $< -%.o: %.cpp - $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ -MMD -MP -MF"$*".d -MT"$@" $< +$(BUILD_DIR): + mkdir "$@"