Files
make/compile.mk
T
2022-06-17 08:04:26 +00:00

43 lines
950 B
Makefile

DEPFLAGS := -MMD
CXXFLAGS_debug ?= -g -O0
CXXFLAGS_release ?= -O2
CXXFLAGS += ${CXXFLAGS_${CONFIG}}
CFLAGS_debug ?= -g -O0
CFLAGS_release ?=- O2
CFLAGS += ${CFLAGS_${CONFIG}}
DEFINES += ${DEFINES_${CONFIG}}
CXX_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .cpp,.o,$(CXX_SRCS)))
GCC_OBJS := $(addprefix ${BUILD_DIR}/, $(subst .c,.o,$(GCC_SRCS)))
OBJS = $(shell find ${BUILD_DIR} -name *.o 2>/dev/null)
DEPS := $(OBJS:%.o=%.d)
compile: pkg_info ${CXX_OBJS} ${GCC_OBJS}
${CXX_OBJS}: $(BUILD_DIR)/%.o : %.cpp $(CXX_SRCS) | $(BUILD_DIR)
@mkdir -p $(dir $@)
@echo Compiling $<
$(CXX) ${DEPFLAGS} ${CXXFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $<
${GCC_OBJS}: $(BUILD_DIR)/%.o : %.c $(GCC_SRCS) | $(BUILD_DIR)
@mkdir -p $(dir $@)
@echo Compiling $@
$(CC) ${DEPFLAGS} ${CFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $<
$(BUILD_DIR):
@mkdir -p $(dir $@)
pkg_info:
@echo Package $(NAME)
.PHONY: clean
clean:
rm -rf ${BUILD_DIR}/*
-include $(DEPS)