76 lines
2.4 KiB
Makefile
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
|