################################################################################ # Automatically-generated file. Do not edit! ################################################################################ -include ./objects.mk -include ./sources.mk -include ./v_makefile.mk -include ./preandpost.mk -include ./config_appcfg.mk -include $(RTOS_PATH)/Rules.make export LANG=en_US.UTF-8 #输出所有变量 .EXPORT_ALL_VARIABLES: #工具定义 AS=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)as LD=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)ld CC=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)gcc CPP=$(CC) -E AR=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)ar NM=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)nm STRIP=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)strip OBJDUMP=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)objdump OBJCOPY=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)objcopy RANLIB=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)ranlib READELF=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)readelf STRINGS=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)strings SIZE=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)size ADDR2LINE=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)addr2line MAKE=$(BIN_PATH)/make RM:=$(BIN_PATH)/rm -rf CONFIG_IMG_TYPE:=1 CONFIG_IMG_REAL_NAME=$(CONFIG_IMG_NAME) ifeq ($(CONFIG_CPLUSPLUS),Y) APP_TYPE := cplusplusapp else APP_TYPE := app endif CP_FILE := *.a # 启动代码路径 CRT0 := $(PLATFORM)/target/acoreosmp/lib/$(CONFIG_CPU_TYPE)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/$(CONFIG_SUB_ARCH)/appCplusStart.o CRTBEGIN := $(PLATFORM)/target/common/lib/$(CONFIG_CPU_TYPE)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/$(CONFIG_SUB_ARCH)/crtbegin.o CRTEND := $(PLATFORM)/target/common/lib/$(CONFIG_CPU_TYPE)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/$(CONFIG_SUB_ARCH)/crtend.o # linkcmds文件所在路径 LINKCMDS_PATH := $(CURRENT_BUILD_PATH) IMAGEINFO_OBJ := $(CURRENT_BUILD_PATH)/imageInfo.o IMAGEINFOGEN_OBJ=$(CURRENT_BUILD_PATH)/ImgInfoGen # default link flags setting FLAGS += -d -N -T $(LINKCMDS_PATH)/catlinkcmds -Map map.txt PREFLAGS += -d -N -T $(LINKCMDS_PATH)/preLinkCmds # All of the sources participating in the build are defined here ifneq ($(strip $(SUBDIRS)),) -include $(SUBDIRS:%=%/subdir.mk) endif #-include $(PROJECT_PATH)/subdir.mk ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif endif -include $(PROJECT_PATH)/makefile.defs # Add inputs and outputs from these tool invocations to the build variables #ARCHIVES += \ #$(LIB) \ LIBS_PATH += -L${RTOS_PATH}/lib/${TOOLS_VERSION}/${CONFIG_ARCH}/$(CONFIG_SUB_ARCH)/${CONFIG_CPU_ENDIAN} LIBS += -lgcc -lclib -lrtlsup -lacsup -lo2aclb -leu2aclb -lnce2aclb -lmo2aclb -ldm2aclb -lkinfo2aclb -lcomarch ifeq ($(HAS_CPP),Y) ifeq ($(TOOLS_VERSION),gcc-4.8.1) LIBS += -lstdc++ -lcplussup endif endif ifeq ($(CONFIG_MATH_LIB),Y) LIBS += -lm -lmatharch endif #CONFIG_MATH_LIB ifeq ($(CONFIG_APP_EXT_FUNC),Y) ifeq ($(CONFIG_APP_EXT_FUNCIF),Y) ifeq ($(CONFIG_APP_FUNC_FLAGSET_IF),Y) LIBS += -lf2aclb endif #CONFIG_APP_FUNC_FLAGSET_IF ifeq ($(CONFIG_APP_FUNC_PERIOD_IF),Y) LIBS += -lpt2aclb endif #CONFIG_APP_FUNC_PERIOD_IF ifeq ($(CONFIG_APP_FUNC_TIMER_IF),Y) LIBS += -ltimer2aclb endif #CONFIG_APP_FUNC_TIMER_IF ifeq ($(CONFIG_APP_FUNC_LOG_IF),Y) LIBS += -llog2aclb endif #CONFIG_APP_FUNC_LOG_IF ifeq ($(CONFIG_APP_FUNC_TVAR_IF),Y) LIBS += -ltvar2aclb endif #CONFIG_APP_FUNC_TVAR_IF ifeq ($(CONFIG_APP_FUNC_CACHE_IF),Y) LIBS += -lcache2aclb endif #CONFIG_APP_FUNC_CACHE_IF ifeq ($(CONFIG_APP_FUNC_CELR_IF),Y) LIBS += -le2aclb endif #CONFIG_APP_FUNC_CELR_IF ifeq ($(CONFIG_APP_FUNC_RWSEM_IF),Y) LIBS += -lrwsem2aclb endif #CONFIG_APP_FUNC_RWSEM_IF ifeq ($(CONFIG_APP_FUNC_ACAPI_IF),Y) LIBS += -lac2aclb endif #CONFIG_APP_FUNC_ACAPI_IF ifeq ($(CONFIG_APP_FUNC_VMM_IF),Y) LIBS += -lvmm2aclb endif #CONFIG_APP_FUNC_VMM_IF ifeq ($(CONFIG_APP_FUNC_MPART_IF),Y) LIBS += -lmpart2aclb endif #CONFIG_APP_FUNC_MPART_IF ifeq ($(CONFIG_APP_FUNC_SIGNAL_IF),Y) LIBS += -lsig2aclb endif #CONFIG_APP_FUNC_SIGNAL_IF ifeq ($(CONFIG_APP_FUNC_SELECT_IF),Y) LIBS += -lselect2aclb endif #CONFIG_APP_FUNC_SELECT_IF ifeq ($(CONFIG_APP_FUNC_SOCKET_IF),Y) LIBS += -lipnet2aclb endif #CONFIG_APP_FUNC_SELECT_IF ifeq ($(CONFIG_APP_FUNC_DKM_IF),Y) LIBS += -ldkm2aclb endif #CONFIG_APP_FUNC_DKM_IF ifeq ($(CONFIG_APP_FUNC_MINFO_IF),Y) LIBS += -lminfo2aclb endif #CONFIG_APP_FUNC_MINFO_IF ifeq ($(CONFIG_APP_FUNC_RTP_IF),Y) LIBS += -lrtp2aclb endif #CONFIG_APP_FUNC_RTP_IF ifeq ($(CONFIG_APP_FUNC_PCI_IF),Y) LIBS += -lpci2aclb endif #CONFIG_APP_FUNC_PCI_IF ifeq ($(CONFIG_APP_FUNC_TIMEMONITOR_IF),Y) LIBS += -ltm2aclb endif #CONFIG_APP_FUNC_TIMEMONITOR_IF endif #CONFIG_APP_EXT_FUNCIF ifeq ($(CONFIG_APP_EXT_FUNC),Y) ifeq ($(CONFIG_APP_COM_DYLIB),Y) LIBS += -ldynLinker -ldlarch endif #CONFIG_APP_COM_DYLIB endif #CONFIG_APP_EXT_FUNC endif ifeq ($(CONFIG_APP_COM_IF),Y) ifeq ($(CONFIG_APP_EXT_COM_VXWORKSIF),Y) LIBS += -lv2aclb -lvxAtomic -lcomarch ifeq ($(CONFIG_APP_EXT_COM_VXWORKSIF_SMP),Y) LIBS += -lmv2aclb endif #CONFIG_APP_EXT_COM_VXWORKSIF_SMP ifeq ($(CONFIG_APP_FUNC_CELR_IF),Y) LIBS += -lvedr2aclb endif #CONFIG_APP_FUNC_CELR_IF ifeq ($(CONFIG_APP_FUNC_RTP_IF),Y) LIBS += -lvrtp2aclb endif #CONFIG_APP_FUNC_RTP_IF endif #CONFIG_APP_EXT_COM_VXWORKSIF ifeq ($(CONFIG_APP_EXT_COM_POSIXIF),Y) LIBS += -lpx2aclb ifeq ($(CONFIG_APP_EXT_COM_POSIXIF_SMP),Y) LIBS += -lmpx2aclb endif #CONFIG_APP_EXT_COM_POSIXIF_SMP endif #CONFIG_APP_EXT_COM_POSIXIF endif #CONFIG_APP_COM_IF #实用功能组件配置连接库 ifeq ($(CONFIG_FFSB_ENABLE),Y) LIBS += -lffs endif #CONFIG_FFSB_ENABLE ifeq ($(CONFIG_RNGBUF_ENABLE),Y) LIBS += -lrngbuf -lclib endif #CONFIG_RNGBUF_ENABLE ifeq ($(CONFIG_DDLINK_ENABLE),Y) LIBS += -llinktbl endif #CONFIG_DDLINK_ENABLE ifeq ($(CONFIG_DLLINK_ENABLE),Y) LIBS += -lddltbl endif #CONFIG_DLLINK_ENABLE ifeq ($(CONFIG_SDLINK_ENABLE),Y) LIBS += -lsdltbl endif #CONFIG_SDLINK_ENABLE #扩展功能支持 ifeq ($(CONFIG_APP_EXT_FUNC_COMPS),Y) ifeq ($(CONFIG_APP_COM_VSIP),Y) LIBS += -ljvsip endif #CONFIG_APP_COM_VSIP endif #CONFIG_APP_EXT_FUNC_COMPS #配置性能监控支持 ifeq ($(CONFIG_APP_EXT_TOOLS_TIMESCOPE),Y) LIBS += -lmcount -ls2aclb endif #CONFIG_APP_EXT_TOOLS_TIMESCOPE ifeq ($(CONFIG_APP_EXT_TOOLS_TSH_SYM_TBL),Y) LIBS += -ltsh2aclb OBJ_SYMBOLTBL=symTbl.o else OBJ_SYMBOLTBL= endif #CONFIG_APP_EXT_TOOLS_TSH_SYM_TBL #Whether add the app build target ifeq ($(IS_BUILD_APP), Y) # MAIN_BUILD += $(EXECUTABLES).$(TARGET_EXT) MAIN_BUILD += $(EXECUTABLES).elf endif # All Target all: $(EXECUTABLES).$(TARGET_EXT) compile_source :$(OBJS) ${IMAGEINFO_OBJ}:$(CURRENT_BUILD_PATH)/imageInfo.c ${CC} -I$(PLATFORM)/target/common/include -D${CONFIG_ARCH} -mhard-float -O0 -g -Wall -c -fno-builtin -fno-short-enums -o $@ $< # Tool invocations $(EXECUTABLES).elf : $(EXECUTABLES).rel @$(BIN_PATH)/echo 'Building target: $@' $(BIN_PATH)/cp $(EXECUTABLES)_ROM.elf $@ @$(BIN_PATH)/echo 'Building target: $@ Finished' @$(BIN_PATH)/echo ' ' $(EXECUTABLES).rel : $(ARCHIVES) ${IMAGEINFO_OBJ} #generate_app_img_attr @$(BIN_PATH)/echo 'Building target: $@' #$(LD) -r -whole-archive $< -o checkname.o ifeq ($(CONFIG_APP_EXT_TOOLS_TSH_SYM_TBL),Y) @$(BIN_PATH)/echo 'Invoking: GCC C Linker' $(LD) $(LIBS_PATH) -r $(PREFLAGS) $(CRT0) ${IMAGEINFO_OBJ} $(CRTBEGIN) $(USER_OBJS) --start-group $< $(LIBS) --end-group $(CRTEND) -o $@ $(BIN_PATH)/sh $(PLATFORM)/host/$(RTOS)/script/systblgen.sh $(TCLSH) $(PLATFORM)/host/$(RTOS)/script/makeSymTbl.tcl $(CONFIG_ARCH) $(NM) $@ symTbl.c ${CC} -I$(PLATFORM)/target/common/include -D${CONFIG_ARCH} -O0 -g -Wall -c -fno-builtin -fno-common -fno-strict-aliasing -fno-short-enums -fmessage-length=0 -march=armv8-a -mlittle-endian -mhard-float -mfpu=vfpv3 -o symTbl.o symTbl.c endif $(LD) $(LIBS_PATH) $(PREFLAGS) $(CRT0) ${IMAGEINFO_OBJ} $(CRTBEGIN) $(USER_OBJS) $(OBJ_SYMBOLTBL) --start-group $< $(LIBS) --end-group $(CRTEND) -o $@ $(SIZE) -A -x $@ 1>presize.txt ${BIN_PATH}/gawk -f ${PLATFORM}/host/${RTOS}/script/parse.awk presize.txt > linkcmds $(RM) $@ presize.txt @${BIN_PATH}/cat _linkcmds>catlinkcmds @$(BIN_PATH)/echo 'Invoking: GCC C Linker' $(LD) $(LIBS_PATH) -r $(FLAGS) $(CRT0) ${IMAGEINFO_OBJ} $(CRTBEGIN) $(USER_OBJS) $(OBJ_SYMBOLTBL) --start-group $< $(LIBS) --end-group $(CRTEND) -o $(EXECUTABLES)_tmp.rel $(OBJCOPY) --add-section .imgattr=$(IMAGEINFOGEN_OBJ) $(EXECUTABLES)_tmp.rel $@ @$(BIN_PATH)/echo -e "Building target: $@ Finished\n" @$(RM) $(EXECUTABLES)_tmp.rel @$(BIN_PATH)/echo 'Building target: $(EXECUTABLES).bin' @$(BIN_PATH)/echo 'Invoking: GCC C Linker' $(LD) -Ttext=$(CONFIG_RUN_ADDR) $(LIBS_PATH) $(FLAGS) $(CRT0) ${IMAGEINFO_OBJ} $(CRTBEGIN) $(USER_OBJS) $(OBJ_SYMBOLTBL) --start-group $< $(LIBS) --end-group $(CRTEND) -o $(EXECUTABLES)_ROM.elf $(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .stab -R .stabstr -R .pbss $(EXECUTABLES)_ROM.elf $(EXECUTABLES).bin @$(BIN_PATH)/echo -e 'Building target: $(EXECUTABLES).bin Finished\n' $(EXECUTABLES).bin : $(EXECUTABLES).elf @$(BIN_PATH)/echo ' ' $(ARCHIVES): $(OBJS) @$(BIN_PATH)/echo 'Building target: $@' @$(BIN_PATH)/echo 'Invoking: GCC Archiver' @$(RM) -rf $@ $(AR) -rc $(ARCHIVES) @prjObjs.lst $(BIN_PATH)/echo -e 'Building target: $@ Finished\n' clean: -${RM} ImgAttr.info linkcmds catlinkcmds map.txt presize.txt presize.txt -${RM} *.rel *.elf *.bin *.o -$(RM) $(OBJS) $(ARCHIVES) $(C_DEPS) clean_source: -$(RM) $(OBJS) -$(RM) $(IMAGEINFO_OBJ) unexport C_UPPER_SRCS unexport C_SRCS unexport S_UPPER_SRCS unexport CPP_SRCS unexport O_SRCS unexport ASM_SRCS unexport S_SRCS unexport CXX_SRCS unexport CC_SRCS unexport OBJ_SRCS unexport OBJS unexport ARCHIVES unexport C_DEPS unexport EXECUTABLES unexport MAKEFILE_LIST .PHONY: all clean dependents .SECONDARY: #-include $(PROJECT_PATH)/makefile.targets