【PE/makefile】編譯標記EXTRA_CFLAGS介紹和使用方法

###Date: 2018.3.24html

===========================================================linux

一、介紹

    EXTRA_CFLAGS, EXTRA_AFLAGS, EXTRA_LDFLAGS, EXTRA_ARFLAGS
    全部的EXTRA_變量只能使用在定義該變量後的makefile文件中。EXTRA_變量被makefile文件全部的執行命令語句所使用。
    $(EXTRA_CFLAGS)是使用$(CC)/gcc編譯C文件的編譯參數選項。
    例如: # drivers/sound/emu10k1/Makefile
    EXTRA_CFLAGS += -I$(obj)
    ifdef
    DEBUG EXTRA_CFLAGS += -DEMU10K1_DEBUG
    endif
    定義這個變量是必須的,由於頂層makefile定義了$(CFLAGS)變量並使用該變量編譯整個代碼樹。
    $(EXTRA_AFLAGS)是每一個目錄編譯彙編語言源文件的選項。
    例如: #arch/x86_64/kernel/Makefile
    EXTRA_AFLAGS := -traditional
    $(EXTRA_LDFLAGS)和$(EXTRA_ARFLAGS)用於每一個目錄de$(LD)和$(AR)選項。
工具

二、理解以及使用方法

CFLAGS += $(EXTRA_CFLAGS)spa

理解:在外部傳入CFLAGS會將makefile中的變量CFLAGS中的值覆蓋掉,而採用EXTRA_FLAGS變量的目的應該就是在外部傳入CFLAGS變量時不會將makefile中該變量的值被覆蓋掉,而是將相應的值追加上去。.net

使用方法: make  PLATFORM=arm  CROSS=aarch64-hisiv610-linux-gnu-  EXTRA_FLAGS+=-DARMhtm

使用狀況:在arm平臺中存在不少交叉編譯工具鏈,能夠經過外部輸入交叉編譯工具(CROSS?=arm-hisiv400-linux-)和CFLAGS或者其餘參數選項的值,從而實現makefile編譯腳本的靈活編譯。blog


三、參考

https://blog.csdn.net/hustbin/article/details/16951689it

http://blog.sina.com.cn/s/blog_87c063060101i2ej.html
io

相關文章
相關標籤/搜索