Files
make/compile.mk
T
2025-08-03 10:56:21 +02:00

38 lines
818 B
Makefile

BUILD_DIR := ${BUILD_DIR}/${NAME}
DEPFLAGS = -MMD
CFLAGS += ${CFLAGS_${CONFIG}}
CXXFLAGS += ${CXXFLAGS_${CONFIG}}
DEFINES += ${DEFINES_${CONFIG}}
CXX_OBJS = $(addprefix ${BUILD_DIR}/, $(CXX_SRCS:.cpp=.o))
GCC_OBJS = $(addprefix ${BUILD_DIR}/, $(GCC_SRCS:.c=.o))
OBJS = $(shell find ${BUILD_DIR} -name *.o 2>/dev/null)
DEPS := $(OBJS:%.o=%.d)
compile: pkg_info ${CXX_OBJS} ${GCC_OBJS}
$(BUILD_DIR)/%.o : %.cpp | $(BUILD_DIR)
@mkdir -p $(dir $@)
@echo Compiling $<
$(CXX) ${DEPFLAGS} ${CXXFLAGS} ${DEFINES} ${INCLUDES} -o $@ -c $<
$(BUILD_DIR)/%.o : %.c | $(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)