- improved

git-svn-id: http://moon:8086/svn/software/trunk/make@909 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-01 13:46:42 +00:00
parent 17c955a7cd
commit 0deb5d5cc9
2 changed files with 29 additions and 14 deletions
+10 -8
View File
@@ -9,25 +9,27 @@ CFLAGS += ${CFLAGS_${CONFIG}}
CXX_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(CXX_SRCS))) CXX_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(CXX_SRCS)))
GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(GCC_SRCS))) GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(GCC_SRCS)))
OBJS := $(CXX_OBJS) $(GCC_OBJS) OBJS = $(shell find build/debug -name *.o 2>/dev/null)
DEPS := $(OBJS:%.o=%.d) DEPS := $(OBJS:%.o=%.d)
.PHONY: test compile: pkg_info ${CXX_OBJS} ${GCC_OBJS}
${CXX_OBJS}: $(BUILD_DIR)/%.o : %.cpp $(CXX_SRCS) | $(BUILD_DIR) ${CXX_OBJS}: $(BUILD_DIR)/%.o : %.cpp $(CXX_SRCS) | $(BUILD_DIR)
@echo create $(dir $@)
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
$(CXX) -MMD ${CXXFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $< @echo Compiling $<
@$(CXX) -MMD ${CXXFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $<
${GCC_OBJS}: $(BUILD_DIR)/%.o : %.c $(GCC_SRCS) | $(BUILD_DIR) ${GCC_OBJS}: $(BUILD_DIR)/%.o : %.c $(GCC_SRCS) | $(BUILD_DIR)
@echo create $(dir $@)
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
$(CC) -MMD ${CFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $< @echo Compiling $@
@$(CC) -MMD ${CFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $<
$(BUILD_DIR): $(BUILD_DIR):
@echo create $@
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
pkg_info:
@echo Package $(NAME)
-include $(DEPS)
include $(MAKE_HOME)/link.mk
+18 -5
View File
@@ -1,11 +1,24 @@
-include $(DEPS)
LDFLAGS_release += LDFLAGS_release +=
LDFLAGS_debug += -g LDFLAGS_debug += -g
LDFLAGS += ${LFLAGS_${CONFIG}} LDFLAGS += ${LFLAGS_${CONFIG}}
link: target_info ${BUILD_DIR}/${TARGET}
run: app
@echo Running ${TARGET}
@${BUILD_DIR}/${TARGET}
${BUILD_DIR}/${TARGET}: ${OBJS} $(BUILD_DIR) ${BUILD_DIR}/${TARGET}: ${OBJS} $(BUILD_DIR)
$(CC) ${LDFLAGS} ${OBJS} ${LIBS} -o $@ @$(CC) ${LDFLAGS} ${OBJS} ${LIBS} -o $@
target_info:
@echo Linking ${TARGET}
.PHONY: clean
clean:
rm -rf ${BUILD_DIR}/*
distclean:
rm -rf ${BUILD_DIR}
test:
@echo $(DEPS)