openwrt下增加package 編譯成新的版本

一   瀏覽openwrt目錄結構

           

├── bin          #保存編譯後最終的二進制文件;

├── build_dir   #源代碼編譯目錄

├── dl           #下載後的源碼包

├── docs         #可生成openwrt說明文檔,文檔也可以到openwrt網站下載

├── feeds        #script/feeds腳本生成,用於管理應用/源碼包的源

├── include      #模塊化的makefile供其他主幹makefile引用

├── package     #軟件包源文件目錄

├── qca          #qca新增的源文件目錄

├── scripts      #工具腳本

├── staging_dir #工具/工具鏈安裝目錄及編譯過程的一些中間文件或頭文件等

├── target      #目標平臺相關代碼

├── tmp          #臨時文件,包括依賴關係,時間戳等

├── toolchain    #工具鏈源文件

└── tools        #host工具源文件


二 在package目錄下新建

1 進入工程的package目錄     cd/home/caoyang/ta321-70/package

2 然後mkdir hello,cd hello,mkdir src,cd src,vihelloworld.c 和Makefile
這2個Makefile是不一樣的上面一個是openwrt用來尋找編譯目標,下面一個是用來編譯helloworld.c的
3 /src目錄Helloworld.c內容如下:


4 /src  Makefile 內容如下:


5

/hello目錄下的Makefile內容如下:

主要有include $(TOPDIR)/rules.mk 頭文件;

和PKG_NAME:=目錄名、PKG_VRSION版本號等宏變量,下面就可以直接引用這些變量

還有軟件包的定義、準備方法、編譯、安裝

最後使用eval函數

參考博客:

http://blog.csdn.net/teddy99999/article/details/17203501

http://blog.chinaunix.net/uid-29616823-id-4477307.html


編譯單獨的package命令:make package/包名/compile

比如:make package/hello/compile V=99

make menuconfig


最後生成鏡像版本:make target/install V=s




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章