X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=Makefile;h=0665d5c1cc140b581d568ab396d26f650e58d494;hb=22319eadfc50e31d434b124117c7791103764410;hp=346b8490d16f37e1faa0fb4b1723e9cfe814e430;hpb=e1e349bb6035463529bc341c472987d229e1cdca;p=blank.git diff --git a/Makefile b/Makefile index 346b849..0665d5c 100644 --- a/Makefile +++ b/Makefile @@ -13,22 +13,39 @@ CXXFLAGS += -Wall LDXXFLAGS ?= LDXXFLAGS += $(PKGLIBS) -SRC = $(wildcard src/*.cpp) -OBJ = $(SRC:.cpp=.o) -DEP = $(SRC:.cpp=.d) +# debug +CXXFLAGS += -g3 -O0 + +# release +#CPPFLAGS += -DNDEBUG + +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) -.PHONY: all clean +distclean: clean + rm -f $(BIN) + +.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 "$@"