make.mk 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. ################################################################################
  2. # Automatically-generated file. Do not edit!
  3. ################################################################################
  4. -include ./objects.mk
  5. -include ./sources.mk
  6. -include ./v_makefile.mk
  7. -include $(CONFIG_PATH)/preandpost.mk
  8. -include $(CONFIG_PATH)/config_msl.mk
  9. export LANG=en_US.UTF-8
  10. #板级代码的编译选项
  11. IS_COMPILE_SOURCE := N
  12. HAS_CPP := N
  13. COMPILE_SYMBOL :=
  14. COMPILE_OPTIMIZATION := -O0
  15. COMPILE_DEBUG := -g
  16. COMPILE_WARNING := -Wall
  17. COMPILE_OTHER := -c -fno-builtin
  18. #工具定义
  19. AS=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)as
  20. LD=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)ld
  21. CC=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)gcc
  22. CPP=$(CC) -E
  23. AR=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)ar
  24. NM=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)nm
  25. STRIP=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)strip
  26. OBJDUMP=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)objdump
  27. OBJCOPY=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)objcopy
  28. RANLIB=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)ranlib
  29. READELF=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)readelf
  30. STRINGS=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)strings
  31. SIZE=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)size
  32. ADDR2LINE=$(TOOLS_CHAIN_PATH)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/bin/$(CROSS_COMPILE)addr2line
  33. MAKE=$(BIN_PATH)/make
  34. RM:=$(BIN_PATH)/rm -rf
  35. #输出所有变量
  36. .EXPORT_ALL_VARIABLES:
  37. CP_FILE := *.a
  38. BOARD_NAME := ft2000aC4
  39. # 启动代码路径
  40. CRT0 := $(PLATFORM)/target/common/bsp/lib/$(CONFIG_CPU_TYPE)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/$(CONFIG_SUB_ARCH)/$(BOARD_NAME)Start.o
  41. ifneq ($(CONFIG_ARCH),arm)
  42. CRTBEGIN := $(PLATFORM)/target/common/lib/$(CONFIG_CPU_TYPE)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/$(CONFIG_SUB_ARCH)/crtbegin.o
  43. CRTEND := $(PLATFORM)/target/common/lib/$(CONFIG_CPU_TYPE)/$(TOOLS_VERSION)/$(CONFIG_ARCH)/$(CONFIG_SUB_ARCH)/crtend.o
  44. endif
  45. # linkcmds文件所在路径
  46. LINKCMDS_PATH := $(CONFIG_PATH)
  47. # default link flags setting
  48. FLAGS += -N -T $(LINKCMDS_PATH)/catlinkcmds -Map map.txt
  49. PREFLAGS += -N -T $(LINKCMDS_PATH)/prelinkcmds
  50. # All of the sources participating in the build are defined here
  51. ifneq ($(strip $(SUBDIRS)),)
  52. -include $(SUBDIRS:%=%/subdir.mk)
  53. endif
  54. #-include $(PROJECT_PATH)/subdir.mk
  55. ifneq ($(MAKECMDGOALS),clean)
  56. ifneq ($(strip $(C_DEPS)),)
  57. -include $(C_DEPS)
  58. endif
  59. endif
  60. -include $(PROJECT_PATH)/makefile.defs
  61. -include $(CONFIG_PATH)/config_msl.mk
  62. # Add inputs and outputs from these tool invocations to the build variables
  63. #default link library
  64. LIBS += -l$(BOARD_NAME)Drv
  65. LIBS += -lgcc -lmslarincsha -lmaisym
  66. LIBS += -lclib -lm -lmatharch -larch -lcomarch -lcheap -lmslarch -lutils -lmslshare -lmslheap -lmslmossha
  67. LIBS += -lo2mclb -luo2mclb -lmoisym -lmrisym -lum2osym
  68. ifeq ($(CONFIG_CORE_CFG),Y)
  69. LIBS += -lmmoisym -lmo2mclb
  70. endif
  71. ifeq ($(CONFIG_TA_DEBUG_CONFIG), Y)
  72. LIBS += -ltar -ltararch -ltaaux -ltpkt -lmmdoisym -lmdoisym -limds
  73. else
  74. LIBS += -lim
  75. endif
  76. ifeq ($(CONFIG_DEV_PRINK_ENABLE),Y)
  77. LIBS += -lprintk
  78. endif
  79. ifeq ($(HAS_CPP),Y)
  80. LIBS += -lstdc++
  81. endif
  82. ifeq ($(CONFIG_COMPONENTS_TARGET_SHELL),Y)
  83. LIBS += --whole-archive -lbootsh --no-whole-archive
  84. endif
  85. ifeq ($(CONFIG_HEAPINFO_ENABLE),Y)
  86. LIBS += -lminfo
  87. endif
  88. ifeq ($(CONFIG_COMPONENTS_ERROR_HANDLE),Y)
  89. LIBS += -lbedrh
  90. endif
  91. # All Target
  92. all: app
  93. app: $(EXECUTABLES).$(TARGET_EXT)
  94. clean: $(CLEAN)
  95. -${RM} checkname.o
  96. -${RM} linkcmds
  97. -${RM} catlinkcmds
  98. -${RM} map.txt
  99. -${RM} presize.txt
  100. -${RM} $(ARCHIVES)
  101. -${RM} $(EXECUTABLES).elf
  102. -${RM} $(EXECUTABLES).bin
  103. -$(RM) $(OBJS) $(C_DEPS)
  104. # Tool invocations
  105. compile_source :$(OBJS)
  106. $(EXECUTABLES).elf : $(ARCHIVES)
  107. @$(BIN_PATH)/echo 'Building target: $@'
  108. @$(BIN_PATH)/echo 'Invoking: GCC C Linker'
  109. $(LD) -r -whole-archive $< -o checkname.o
  110. $(LD) $(LIBS_PATH) -L$(LIB_PATH) $(PREFLAGS) $(CRT0) $(CRTBEGIN) $(USER_OBJS) --start-group $< $(LIBS) --end-group $(CRTEND) -o $@
  111. $(SIZE) -A -x $@ 1>presize.txt
  112. ${BIN_PATH}/gawk -f ${PLATFORM}/host/${RTOS}/script/parse.awk presize.txt > linkcmds
  113. $(RM) $@ presize.txt
  114. @${BIN_PATH}/cat linkcmds _linkcmds>catlinkcmds
  115. $(LD) $(LIBS_PATH) -L$(LIB_PATH) $(FLAGS) $(CRT0) $(CRTBEGIN) $(USER_OBJS) --start-group $< $(LIBS) --end-group $(CRTEND) -o $@
  116. $(SIZE) -A -x $@ 1>presize.txt
  117. ifeq ($(CONFIG_ARCH),ppc)
  118. $(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .stab -R .stabstr -R .pbss $(EXECUTABLES).elf $(EXECUTABLES).bin
  119. endif
  120. @$(BIN_PATH)/echo 'Finished building target: $@'
  121. @$(BIN_PATH)/echo ' '
  122. $(EXECUTABLES).bin : $(EXECUTABLES).elf
  123. @$(BIN_PATH)/echo 'Building target: $@'
  124. $(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .stab -R .stabstr -R .pbss $< $@
  125. @$(BIN_PATH)/echo 'Finished building target: $@'
  126. @$(BIN_PATH)/echo ' '
  127. $(EXECUTABLES).hex : $(EXECUTABLES).elf
  128. @$(BIN_PATH)/echo 'Building target: $@'
  129. $(OBJCOPY) -O ihex --strip-unneeded -R .note -R .comment -R .stab -R .stabstr $< $@
  130. @$(BIN_PATH)/echo 'Finished building target: $@'
  131. @$(BIN_PATH)/echo ' '
  132. $(EXECUTABLES).exe : $(EXECUTABLES).elf
  133. $(BIN_PATH)/echo 'Building target: $@'
  134. $(OBJCOPY) -O a.out-i386 --strip-debug -R .note -R .comment -R .stab -R .stabstr -R .jcr -R .rodata.str1.4 -R .rodata.str1.1 $< $@
  135. @$(BIN_PATH)/echo 'Finished building target: $@'
  136. @$(BIN_PATH)/echo ' '
  137. $(EXECUTABLES).srec : $(EXECUTABLES).elf
  138. @$(BIN_PATH)/echo 'Building target: $@'
  139. $(OBJCOPY) -O srec --strip-unneeded -R .note -R .comment -R .stab -R .stabstr $< $@
  140. @$(BIN_PATH)/echo 'Finished building target: $@'
  141. @$(BIN_PATH)/echo ' '
  142. $(ARCHIVES): $(OBJS)
  143. @$(BIN_PATH)/echo 'Invoking: GCC Archiver'
  144. @$(RM) -rf $@
  145. $(AR) -rc $(ARCHIVES) @prjObjs.lst
  146. $(BIN_PATH)/echo 'Finished building: $@'
  147. @$(BIN_PATH)/echo ' '
  148. clean_source:
  149. -$(RM) $(OBJS)
  150. unexport C_UPPER_SRCS
  151. unexport C_SRCS
  152. unexport S_UPPER_SRCS
  153. unexport CPP_SRCS
  154. unexport O_SRCS
  155. unexport ASM_SRCS
  156. unexport S_SRCS
  157. unexport CXX_SRCS
  158. unexport CC_SRCS
  159. unexport OBJ_SRCS
  160. unexport OBJS
  161. unexport ARCHIVES
  162. unexport C_DEPS
  163. unexport EXECUTABLES
  164. unexport MAKEFILE_LIST
  165. .PHONY: all clean dependents
  166. .SECONDARY: