From c38018073fbd24537483fe425430834c00b08517 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 1 Jun 2022 06:05:11 +0000 Subject: [PATCH] - fixed compile dependy inclusion - refactored link part into link.mk git-svn-id: http://moon:8086/svn/software/trunk/make@901 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- compile.mk | 31 ++++++++++++++++++++----------- link.mk | 7 +++++++ 2 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 link.mk diff --git a/compile.mk b/compile.mk index 62eeec2..42e1c88 100644 --- a/compile.mk +++ b/compile.mk @@ -1,31 +1,40 @@ -CXXFLAGS += -std=c++11 -g -CXXFLAGS_debug := -O0 +CXXFLAGS += -std=c++11 +CXXFLAGS_debug := -g -O0 CXXFLAGS_release := -O2 CXXFLAGS += ${CXXFLAGS_${CONFIG}} -CFLAGS += -g -CFLAGS_debug := -O0 +CFLAGS += +CFLAGS_debug := -g -O0 CFLAGS_release :=- O2 CFLAGS += ${CFLAGS_${CONFIG}} LFLAGS += LFLAGS_release := -LFLAGS_debug := -LFLAGS += ${LFLAGS_${CONFIG}} -g +LFLAGS_debug := -g +LFLAGS += ${LFLAGS_${CONFIG}} CXX_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(CXX_SRCS))) GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(GCC_SRCS))) -${CXX_OBJS}: $(BUILD_DIR)/%.o : %.cpp $(CXX_SRCS) +OBJS := $(CXX_OBJS) $(GCC_OBJS) +DEPS := $(OBJS:%.o=%.d) + +.PHONY: test + +${CXX_OBJS}: $(BUILD_DIR)/%.o : %.cpp $(CXX_SRCS) | $(BUILD_DIR) + @echo create $(dir $@) @mkdir -p $(dir $@) g++ -MMD ${CXXFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $< -${GCC_OBJS}: $(BUILD_DIR)/%.o : %.c $(GCC_SRCS) +${GCC_OBJS}: $(BUILD_DIR)/%.o : %.c $(GCC_SRCS) | $(BUILD_DIR) + @echo create $(dir $@) @mkdir -p $(dir $@) gcc -MMD ${CFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $< --include $(BUILD_DIR)/*.d +$(BUILD_DIR): + @echo create $@ + @mkdir -p $(dir $@) + + -${BUILD_DIR}/${TARGET}: ${CXX_OBJS} ${GCC_OBJS} - gcc ${LFLAGS} ${CXX_OBJS} ${GCC_OBJS} ${LIBS} -o $@ diff --git a/link.mk b/link.mk new file mode 100644 index 0000000..856f145 --- /dev/null +++ b/link.mk @@ -0,0 +1,7 @@ +-include $(DEPS) + +${BUILD_DIR}/${TARGET}: ${OBJS} $(BUILD_DIR) + gcc ${LFLAGS} ${OBJS} ${LIBS} -o $@ + +test: + @echo $(DEPS)