makefile的規(guī)則和常用知識點

規(guī)則

雙目標sinclude

變量

內(nèi)建函數(shù)

dir獲取目錄

mkdir -p $(dir $(TIMESTAMP_FILE))

TIMESTAMP_FILETIMESTAMP_FILE = $(obj)include/generated/timestamp_autogenerated.h,則獲取的目錄是$(obj)include/generated/。

sort排序

LIBS := $(sort $(LIBS-y))

LIBS-y排序后賦值給LIBS

addprefix加前綴

LIBS := $(addprefix $(obj),$(lib))

假如obj=/home/boot/,lib=a.o b.o,則LIBS := /home/boot/a.o /home/boot/b.o。

調(diào)用shell命令

    @( localvers='$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ; \
    printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' \
        "$(U_BOOT_VERSION)" "$${localvers}" ; \
    ) > version_autogenerated.h

version_autogenerated.h寫入

#define U_BOOT_VERSION "U-Boot 2013.04"

調(diào)試方法

debug選項

make --debug=basic
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容