makefile之override
override指示符
通常在執行 make 時,如果通過命令列定義了一個變數,那麼它將替代在 Makefile中出現的同名變數的定義。
就是說,對於一個在 Makefile 中使用常規方式(使用“=”、“:=”或者“define”)定義的變數,我們可以在執行 make 時通過命令列方式重新指定這個變數的值,命令列指定的值將替代出現在 Makefile 中此變數的值。
如果不希望命令列指定的變數值替代在 Makefile 中的變數定義,那麼我們需要在 Makefile 中使用指示符“override”來對這個變數進行宣告。
override作用
- 保護makefile中定義的變數的值;
- 提供一種在makefile中增加或者修改命令列引數的方式;
實際情況下,我們經常會有這種需求:通過命令列指定一些附加的引數選項,對於一些通用的引數選項在makefile中指定.
1 保護makefile中定義變數值示例
1.1 沒有使用override的情況
make命令列指定的變數值將會覆蓋makefile中定義的同名的變數值
SRCS := A.c B.c C.c
all:
@echo "SRCS: " $(SRCS)
1.2 使用override的情況
make命令列指定的變數值將不會覆蓋makefile中定義的同名的變數值,所以override有保護makefile中變數值不被命令列引數修改的作用。
override SRCS := A.c B.c C.c
all:
@echo "SRCS: " $(SRCS)
2 修改makefile中定義變數值的示例
#使用override進行追加的變數的原來指定的值不會被命令列引數覆蓋,而且會追加命令列指定的值
override CFLAGS += -g
all:
@echo $(CFLAGS)
相關文章
- C#之Abstract、Vitrual、OverrideC#IDE
- golang 構建工具之 MakefileGolang
- Java之所有物件的公用方法>9.Always override hashCode when you override equalsJava物件IDE
- Override setterIDE
- Makefile
- 嵌入式之Makefile學習筆記筆記
- @Override標籤IDE
- Aura QuickAction OverrideUIIDE
- 菜鳥入門:Linux之Makefile概述(轉)Linux
- makefile 進行宏定義的便捷之處
- 方法重寫(Override)IDE
- 【Makefile】5-Makefile變數的基礎變數
- C++11新特性之final override識別符號C++IDE符號
- Java之所有物件的公用方法>10.Always override toStringJava物件IDE
- Linux開發之Makefile簡明教程及示例Linux
- Android OTA升級(一)之Makefile檔案分析Android
- C語言的本質(38)——makefile之變數C語言變數
- Java中@Override的作用JavaIDE
- JAVA中 @Override 的作用JavaIDE
- Makefile筆記筆記
- makefile 詳解
- Chrome瀏覽器擴充套件開發系列之七:override頁面Chrome瀏覽器套件IDE
- makefile快速入門
- makefile 簡明教程
- Makefile學習(一)
- makefile筆記(2)筆記
- 使用makefile編譯編譯
- Makefile使用教程1
- makefile檔案案例
- Makefile學習之路(2) — Makefile的變數和萬用字元變數字元
- CMakeFile.txt透過sysroot方式後生成makefile報錯
- override(重寫) and overload(過載)IDE
- override 與overload 的區別IDE
- override與overload的區別IDE
- Makefile學習筆記筆記
- 初識makefile結構
- udp測試程式 + makefileUDP
- Makefile 讀書筆記筆記