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