微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > GNU ARM汇编--(十七)u-boot的makefile和mkconfig解读

GNU ARM汇编--(十七)u-boot的makefile和mkconfig解读

时间:11-26 来源:互联网 点击:

        1. ##########
        2. #Loadgeneratedboardconfiguration
        3. sinclude$(OBJTREE)/include/autoconf.mk
        4. sinclude$(OBJTREE)/include/config.mk
        5. ################################################################################################
        6. #包上配置编译时产生的autoconf.mk和config.mk文件
        7. ################################################################################################
        8. #Somearchitectureconfig.mkfilesneedtoknowwhatCPUDIRissetto,
        9. #socalculateCPUDIRbeforeincludingARCH/SOC/CPUconfig.mkfiles.
        10. #Checkifarch/$ARCH/cpu/$CPUexists,otherwiseassumearch/$ARCH/cpucontains
        11. #CPU-specificcode.
        12. CPUDIR=arch/$(ARCH)/cpu/$(CPU)
        13. ifneq($(SRCTREE)/$(CPUDIR),$(wildcard$(SRCTREE)/$(CPUDIR)))
        14. CPUDIR=arch/$(ARCH)/cpu
        15. endif
        16. #################################################################################################
        17. #定义CPUDIR为arch/arm/cpu/arm920t
        18. #################################################################################################
        19. sinclude$(TOPDIR)/arch/$(ARCH)/config.mk#includearchitecturedependendrules
        20. sinclude$(TOPDIR)/$(CPUDIR)/config.mk#includeCPUspecificrules
        21. ##################################################################################################
        22. #包上arch/arm/config.mk和/arch/arm/cpu/arm920t/config.mk文件
        23. ##################################################################################################
        24. ifdefSOC
        25. sinclude$(TOPDIR)/$(CPUDIR)/$(SOC)/config.mk#includeSoCspecificrules
        26. endif
        27. ######################################################################
        28. #包上arch/arm/cpu/arm920t/s3c24x0/config.mk文件
        29. #####################################################################
        30. ifdefVENDOR
        31. BOARDDIR=$(VENDOR)/$(BOARD)
        32. else
        33. BOARDDIR=$(BOARD)
        34. endif
        35. ifdefBOARD
        36. sinclude$(TOPDIR)/board/$(BOARDDIR)/config.mk#includeboardspecificrules
        37. endif
        38. ######################################################################################
        39. #包上board/samsung/smdk2410/config.mk文件
        40. ######################################################################################
        41. #########################################################################
        42. #Wedontactuallyuse$(ARFLAGS)anywhereanymore,socatchpeople
        43. #whoareportingoldcodetolatestmainlinebutnotupdating$(AR).
        44. ARFLAGS=$(errorupdateyourMakefiletousecmd_link_o_targetandnotAR)
        45. RELFLAGS=$(PLATFORM_RELFLAGS)
        46. DBGFLAGS=-g#-DDEBUG
        47. OPTFLAGS=-Os#-fomit-frame-pointer
        48. OBJCFLAGS+=--gap-fill=0xff
        49. gccincdir:=$(shell$(CC)-print-file-name=include)
        50. CPPFLAGS:=$(DBGFLAGS)$(OPTFLAGS)$(RELFLAGS)
        51. -D__KERNEL__
        52. #Enablegarbagecollectionofun-usedsectionsforSPL
        53. ifeq($(CONFIG_SPL_BUILD),y)
        54. CPPFLAGS+=-ffunction-sections-fdata-sections
        55. LDFLAGS_FINAL+=--gc-sections
        56. endif
        57. ifneq($(CONFIG_SYS_TEXT_BASE),)
        58. CPPFLAGS+=-DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE)
        59. endif
        60. ifneq($(CONFIG_SPL_TEXT_BASE),)
        61. CPPFLAGS+=-DCONFIG_SPL_TEXT_BASE=$(CONFIG_SPL_TEXT_BASE)
        62. endif
        63. ifneq($(CONFIG_SPL_PAD_TO),)
        64. CPPFLAGS+=-DCONFIG_SPL_PAD_TO=$(CONFIG_SPL_PAD_TO)
        65. endif
        66. ifeq($(CONFIG_SPL_BUILD),y)
        67. CPPFLAGS+=-DCONFIG_SPL_BUILD
        68. endif
        69. ifneq($(RESET_VECTOR_ADDRESS),)
        70. CPPFLAGS+=-DRESET_VECTOR_ADDRESS=$(RESET_VECTOR_ADDRESS)
        71. endif
        72. ifneq($(OBJTREE),$(SRCTREE))
        73. CPPFLAGS+=-I$(OBJTREE)/include2-I$(OBJTREE)/include
        74. endif
        75. CPPFLAGS+=-I$(TOPDIR)/include
        76. CPPFLAGS+=-fno-builtin-ffreestanding-nostdinc
        77. -isystem$(gccincdir)-pipe$(PLATFORM_CPPFLAGS)
        78. ifdefBUILD_TAG
        79. CFLAGS:=$(CPPFLAGS)-Wall-Wstrict-prototypes
        80. -DBUILD_TAG="$(BUILD_TAG)"
        81. else
        82. CFLAGS:=$(CPPFLAGS)-Wall-Wstrict-prototypes
        83. endif
        84. CFLAGS_SSP:=$(callcc-option,-fno-stack-protector)
        85. CFLAGS+=$(CFLAGS_SSP)
        86. #Sometoolchainsenablesecurityrelatedwarningflagsbydefault,
        87. #buttheydontmakemuchsenseintheu-bootworld,sodisablethem.
        88. CFLAGS_WARN:=$(callcc-option,-Wno-format-nonliteral)
        89. $(callcc-option,-Wno-format-security)
        90. CFLAGS+=$(CFLAGS_WARN)
        91. #Report

  • Copyright © 2017-2020 微波EDA网 版权所有

    网站地图

    Top