diff --git a/compile.mk b/compile.mk index 2b35de2..5792b70 100644 --- a/compile.mk +++ b/compile.mk @@ -9,25 +9,27 @@ CFLAGS += ${CFLAGS_${CONFIG}} CXX_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(CXX_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) -.PHONY: test +compile: pkg_info ${CXX_OBJS} ${GCC_OBJS} ${CXX_OBJS}: $(BUILD_DIR)/%.o : %.cpp $(CXX_SRCS) | $(BUILD_DIR) - @echo create $(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) - @echo create $(dir $@) @mkdir -p $(dir $@) - $(CC) -MMD ${CFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $< + @echo Compiling $@ + @$(CC) -MMD ${CFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $< $(BUILD_DIR): - @echo create $@ @mkdir -p $(dir $@) - - +pkg_info: + @echo Package $(NAME) + +-include $(DEPS) +include $(MAKE_HOME)/link.mk diff --git a/link.mk b/link.mk index 1c22227..f2395ca 100644 --- a/link.mk +++ b/link.mk @@ -1,11 +1,24 @@ --include $(DEPS) - LDFLAGS_release += LDFLAGS_debug += -g LDFLAGS += ${LFLAGS_${CONFIG}} +link: target_info ${BUILD_DIR}/${TARGET} +run: app + @echo Running ${TARGET} + @${BUILD_DIR}/${TARGET} + ${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)