X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=5b1ea4b5505d20efc6c10e9c224bdcd79c1c4de6;hb=efc3c1ba52cbe0fc9a4010c37c2d7c7020a0b481;hp=4e4d994c681901e2c32cd00cc261d4769db2de0e;hpb=b7ce34c0f23de142de13c88722845ed8e5b17c58;p=blank.git diff --git a/Makefile b/Makefile index 4e4d994..5b1ea4b 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,7 @@ CPPFLAGS ?= CPPFLAGS += $(PKGFLAGS) CXXFLAGS ?= CXXFLAGS += -Wall +#CXXFLAGS += -march=native LDXXFLAGS ?= LDXXFLAGS += $(PKGLIBS) @@ -36,8 +37,11 @@ BIN_SRC := $(wildcard $(SOURCE_DIR)/*.cpp) SRC := $(LIB_SRC) $(BIN_SRC) TEST_SRC := $(wildcard $(TEST_SRC_DIR)/*.cpp) $(wildcard $(TEST_SRC_DIR)/*/*.cpp) RELEASE_OBJ := $(patsubst $(SOURCE_DIR)/%.cpp, $(RELEASE_DIR)/%.o, $(SRC)) +RELEASE_LIB_OBJ := $(patsubst $(SOURCE_DIR)/%.cpp, $(RELEASE_DIR)/%.o, $(LIB_SRC)) DEBUG_OBJ := $(patsubst $(SOURCE_DIR)/%.cpp, $(DEBUG_DIR)/%.o, $(SRC)) +DEBUG_LIB_OBJ := $(patsubst $(SOURCE_DIR)/%.cpp, $(DEBUG_DIR)/%.o, $(LIB_SRC)) PROFILE_OBJ := $(patsubst $(SOURCE_DIR)/%.cpp, $(PROFILE_DIR)/%.o, $(SRC)) +PROFILE_LIB_OBJ := $(patsubst $(SOURCE_DIR)/%.cpp, $(PROFILE_DIR)/%.o, $(LIB_SRC)) TEST_OBJ := $(patsubst $(TEST_SRC_DIR)/%.cpp, $(TEST_DIR)/%.o, $(TEST_SRC)) $(patsubst $(SOURCE_DIR)/%.cpp, $(TEST_DIR)/src/%.o, $(LIB_SRC)) RELEASE_DEP := $(RELEASE_OBJ:.o=.d) DEBUG_DEP := $(DEBUG_OBJ:.o=.d) @@ -45,7 +49,7 @@ PROFILE_DEP := $(PROFILE_OBJ:.o=.d) TEST_DEP := $(TEST_OBJ:.o=.d) RELEASE_BIN := blank DEBUG_BIN := blank.debug -PROFILE_BIN := blank.profile +PROFILE_BIN := blank.profile generate.profile TEST_BIN := blank.test OBJ := $(RELEASE_OBJ) $(DEBUG_OBJ) $(PROFILE_OBJ) $(TEST_OBJ) DEP := $(RELEASE_DEP) $(DEBUG_DEP) $(PROFILE_DEP) $(TEST_DEP) @@ -53,6 +57,22 @@ BIN := $(RELEASE_BIN) $(DEBUG_BIN) $(PROFILE_BIN) $(TEST_BIN) release: $(RELEASE_BIN) +info: + @echo "CXX: $(CXX)" + @echo "LDXX: $(LDXX)" + @echo + @echo "LIBS: $(LIBS)" + @echo + @echo "CPPFLAGS: $(CPPFLAGS)" + @echo "CXXFLAGS: $(CXXFLAGS)" + @echo "LDXXFLAGS: $(LDXXFLAGS)" + @echo "TESTFLAGS: $(TESTFLAGS)" + @echo "TESTLIBS: $(TESTLIBS)" + @echo + @-lsb_release -a + @git --version + @g++ --version + all: $(BIN) debug: $(DEBUG_BIN) @@ -88,7 +108,9 @@ test: blank.test ./blank.test clean: - rm -df $(OBJ) $(DEP) $(DIR) + rm -f $(OBJ) + rm -f $(DEP) + find build -type d -empty -delete distclean: clean rm -f $(BIN) cachegrind.out.* callgrind.out.* @@ -98,15 +120,15 @@ distclean: clean -include $(DEP) -$(RELEASE_BIN): $(RELEASE_OBJ) +$(RELEASE_BIN): %: $(RELEASE_DIR)/%.o $(RELEASE_LIB_OBJ) @echo link: $@ @$(LDXX) -o $@ $(CXXFLAGS) $(LDXXFLAGS) $(RELEASE_FLAGS) $^ -$(DEBUG_BIN): $(DEBUG_OBJ) +$(DEBUG_BIN): %.debug: $(DEBUG_DIR)/%.o $(DEBUG_LIB_OBJ) @echo link: $@ @$(LDXX) -o $@ $(CXXFLAGS) $(LDXXFLAGS) $(DEBUG_FLAGS) $^ -$(PROFILE_BIN): $(PROFILE_OBJ) +$(PROFILE_BIN): %.profile: $(PROFILE_DIR)/%.o $(PROFILE_LIB_OBJ) @echo link: $@ @$(LDXX) -o $@ $(CXXFLAGS) $(LDXXFLAGS) $(PROFILE_FLAGS) $^ @@ -114,7 +136,8 @@ $(TEST_BIN): $(TEST_OBJ) @echo link: $@ @$(LDXX) -o $@ $(CXXFLAGS) $(LDXXFLAGS) $(TESTLIBS) $(TEST_FLAGS) $^ -$(ASSET_DEP): .git/$(shell git symbolic-ref HEAD) +$(ASSET_DEP): .git/$(shell git symbolic-ref HEAD 2>/dev/null || echo .git/HEAD) + @echo fetch: assets @git submodule update --init >/dev/null @touch $@