38 lines
818 B
Makefile
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)
|
|
|