NT98515 的 toolchain 包含編譯核心, 應用應用程式, 以及打包核心, 檔案結構. 如果有一些額外的套件需要加入, 有一點需要考量. 如果直接附加在 NT98515 的 SDK 中, 當 SDK update 的時候, 這時就需要對整個 SDK 作比對, 才能確保檔案都搬移過去. 為了避免這種困擾, 這邊新增了一個目錄, 新增加的部分都放在這裡面. 目前新增的部分以 OpenSource 為主ˊ, 所以新增一個 OpenSource 目錄.
1. 修改 NA51023_BSP/build/envsetup.sh
SDK 在編譯子系統的時候, 會從環境變數抓取目錄, 這部分需要在 NA51023_BSP/build/envsetup.sh 預先指定.
export OPENSOURCE_DIR=${LINUX_BUILD_TOP}/OpenSource
show_env_by_name OPENSOURCE_DIR
unset OPENSOURCE_DIR
2. 修改 NA51023_BSP/Makefile
-在 all 目標相關列加入 OpenSource
all: uitron linux modules supplement uboot busybox library app sample chicony OpenSource rootfs pack
-在 PHONY 目標相關列加入 OpenSource
.PHONY: rootfs uboot linux modules tools app sample chicony OpenSource
-在 clean目標相關列加入 OpenSource
clean: rm_logs supplement_clean uboot_clean linux_clean busybox_clean rootfs_clean tools_clean library_clean app_clean uitron_clean sample_clean chicony_clean OpenSource_clean pack_clean
-新增 OpenSource 目標
OpenSource: checkenv
@echo “##### Build OpenSource software package #####"
@$(call log_remove)
@$(call log_stdout, make -C ${OPENSOURCE_DIR})
@$(call log_stdout, make -C ${OPENSOURCE_DIR} install)
-新增 OpenSource_clean 目標
OpenSource_clean: checkenv
@echo “##### Clean OpenSource software package #####"
@$(call log_remove)
@$(call log_stdout, make -C ${OPENSOURCE_DIR} clean)
-新增 make OpenSource 選項
@echo “make OpenSource -> build OpenSource software"
-新增 make OpenSource_clean 選項
@echo “make OpenSource_clean -> clean OpenSource software"
3. 試編譯 (記得要先執行 source ./build/envsetup.sh 設定環境變數)
make 已經進入 OpenSource 目錄試著要編譯這個專案, 不過這裡面沒有 Makefile, 所以回報失敗
4. 複製 Makefile
從 NA51023_BPS/sample 複製 Makefile 過來. 這個 Makefile 的作用是導引到下層目錄的 Makefile, 並沒有甚麼專案相關的資訊, 所以複製就可以了
$ cp ./sample/Makefile ./OpenSource/
5. 加入要編譯的專案, 就可以在 NA51023_BSP/ 這邊去編譯加入的套件