1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      U-BOOT Makefile 的結(jié)構

      更新時間: 2010-06-04 17:51:38來源: 粵嵌教育瀏覽量:1557

        從Makefile文件中可以對u-boot的構建過程有一個更深入的了解,然而面對數(shù)千行的Makefile文件,到底要如何入手確實是讓人挺頭疼的。突然有種茅塞頓開的感覺,于是乎想把關于Makefile的一點想法記錄下來,以期能對那些與我同樣在摸索的同道有所助益,當然,想要有更深入的了解,別無他法,還是要老老實實的閱讀源文件的Makefile文件的。其實Makefile雖然行數(shù)很多,不過也沒有很復雜,它的結(jié)構還是很清晰簡潔的。

        首先,我們需要了解的就是U-BOOT的構建過程,一般這樣來構建u-boot:先執(zhí)行命令‘make <board_name>_config'進行配置,然后執(zhí)行'make all'進行編譯來產(chǎn)生目標文件。
      例如:
      'make smdk2410_config'
      'make all'
      產(chǎn)生用于2410板的U-BOOT的目標文件。

        在此以U-BOOT 1.3.4版的Makefile為例。這個文件總共為3062行,可真夠嚇人的。

      開頭是一段注釋,是對于這個文件的版權的一些聲明。為從行到第22行。

      緊接著的是一些環(huán)境變量的定義。從第24行開始,一直到280行。

      (一段Makefile中的注釋,對于在源碼目錄外構建目標的說明)
      U-BOOT的Makefile支持在源碼目錄之外的目錄中構建二進制文件。兩種方法可以做到這一點:
      1)在make命令行中添加 O=
      ‘make O=/tmp/build all'
      2)設置環(huán)境變量BUILD_DIR以指向想要構建目標文件的目錄
      ’export BUILD_DIR=/tmp/build'
      'make'
      第二種方法還可以和一個MAKEALL腳本一起使用
      'export BUILD_DIR=/tmp/build'
      './MAKEALL'
      命令行的'O='要優(yōu)先于BUILD_DIR環(huán)境變量
      緊接著的是用于構建目標文件的目標,也就是all目標,從282行,一直到第461行。

        然后是unconfig目標,顧名思義,就是在執(zhí)行了配置命令之后,卻發(fā)現(xiàn)不得不更改配置,而用來撤銷之前的配置的。

        緊接著的就是針對數(shù)百個開發(fā)板的配置目標,也就是在構建的步中傳遞給make的參數(shù)。Makefile中這些目標按照體系結(jié)構來排列,在體系結(jié)構內(nèi)又按不同的平臺來排列。首先是PowerPC的板,從468行一直到2322行,占有著整個Makefile文件一半以上的行。有針對數(shù)量眾多的不同平臺的不同開發(fā)板的配置目標。然后就是ARM體系結(jié)構的,從2323行一直到2678行。支持很多種平臺,各平臺排列依次為StrongARM、ARM92xTSystems、ARM通用開發(fā)板、S3C44B0 systems、ARM720T、XScale Systems、ARM1136Systems。然后是i386架構的,從2680行到2694行。然后是MIPS架構的,從2695行到2776.之后是Nios架構的,沒有支持的板子。然后是Nios32架構的...這些配置目標一直到3001行。

        然后是一些用于清理、備份等的目標,之前的構建過程的逆過程或者用于備份構建的目標文件的目標。

        為了避免無關的信息的打擾,也減輕一下大文件所帶給人的心理壓力,可以把許許多多的與自己的開發(fā)板完全無關的配置目標等清除掉了,這樣也可以不分散自己的注意力。可以清理出來一個更加簡潔、只有短短數(shù)百行的這么一個文件。
        閱讀的時候可以首先看配置目標,因為它是被執(zhí)行的。
      接著根據(jù)配置目標執(zhí)行的結(jié)果,來閱讀前面?zhèn)€環(huán)境變量的值,因為很多變量的值都是和配置目標密切相關的。
      ,閱讀all目標。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲日本精品国产第一区二区 | 中字幕无砖欧美日韩一区中 | 忘忧草日韩综合一区三级久久久 | 伊人狠狠丁香婷婷综合 | 亚洲AV午夜福利精品一区二区 | 中文字幕欧洲与亚洲无吗 |