nt9856x/code/application/source/sf_app/build/modbuild.mk
2023-05-17 15:33:39 +08:00

76 lines
2.4 KiB
Makefile

include $(SF_CS_DIR)/build/inc.mk
include $(PROJECT_DIR)/configs/current.configs
-include $(PROJECT_DIR)/release/$(PRODUCT)/$(CHIP)/$(BOARD)/$(TOOLCHAIN)/toolchain.mk
MODULE_NAME ?=$(CUR_DIR_NAME)
CFLAGS := -Wall -O3
#-std=c99
COMPILEDEP = $(CC) -MM "$<" $(INCLUDE_PATH)
OBJ_DIR := $(SF_CS_DIR)/output/obj/$(MODULE_NAME)
LIB :=$(SF_CS_DIR)/output/lib/static/lib$(MODULE_NAME).a
SOLIB := $(SF_CS_DIR)/output/lib/dynamic/lib$(MODULE_NAME).so
COMPILE = $(CC) $(C_FLAGS) -c "$<" -o "$@" $(INCLUDE_PATH)
SRCS := $(shell find $(SRC_DIR) -name '*.c')
SRCS := $(sort $(SRCS))
ifneq ($(CFG_DUAL_PROCESS_EN),y)
SRCS_OMIT := $(shell find $(SRC_DIR) -name 'main.c')
SRCS := $(filter-out $(SRCS_OMIT),$(SRCS))
endif
OBJS := $(SRCS:$(SRC_DIR)%.c=$(OBJ_DIR)%.o)
OBJS := $(sort $(OBJS))
SRC_DEPS := $(OBJS:%.o=%.d)
.PHONY: clean $(LIB) all install
all : prepare $(SRC_DEPS) $(OBJS) $(LIB) install
prepare:
@echo "";echo ""
@echo -e "\033[31;32m *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \033[0m"
@echo -e "\033[31;32m [COMPILING] `basename $(MODULE_NAME)` ... ... \033[0m"
@echo ""
@mkdir -p $(OBJ_DIR)
$(SRC_DEPS) : $(OBJ_DIR)/%.d : $(SRC_DIR)/%.c
@echo "SRC_DEPS: " $(notdir $@)
set -e;$(COMPILEDEP) > $@.$$$$; \
sed 's,.*\.o[ :]*,$(@:%.d=%.o) $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
$(OBJS) : $(OBJ_DIR)/%.o : $(SRC_DIR)/%.c
@echo -e "\033[31;32m [$(CC)] \033[0m `basename $<` \033[0m"
$(CC) $(CFLAGS) $(C_FLAGS) -fpic -c $< -o $@ $(INCLUDE_PATH)
@echo -e "\033[31;32m [OK] \033[0m";echo ""
$(LIB) : $(OBJS)
@echo -e "\033[31;32m [CREATING] \033[0m `basename $(LIB)` \033[0m"
$(AR) -r $@ $(OBJS)
@echo -e "\033[31;32m [OK] \033[0m";echo ""
$(SOLIB) : $(OBJS)
@echo -e "\033[31;32m [CREATING] \033[0m `basename $(SOLIB)` \033[0m"
@$(CC) -fPIC -shared -o $@ $(OBJS)
@echo -e "\033[31;32m [OK] \033[0m";echo ""
clean:
@echo " "
@echo "--------------------------------------------"
@echo -e "\033[31;31m [DELETING $(MODULE_NAME) files ......] \033[0m"
@-rm -f $(LIB)
@-rm -f $(SOLIB)
@-rm -f $(SRC_DEPS)
@if [ -n $(OBJ_DIR) ];then rm -rf $(OBJ_DIR);fi
@echo "--------------------------------------------"
@echo " "
install:
@#cp $(SOLIB) $(PROJECT_DIR)/release/$(PRODUCT)/$(CHIP)/common/$(TOOLCHAIN)/$(TOOLCHAIN_VERSION)/ex_libs/dynamic
@#cp $(LIB) $(PROJECT_DIR)/release/$(PRODUCT)/$(CHIP)/common/$(TOOLCHAIN)/$(TOOLCHAIN_VERSION)/ex_libs/static