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)
相關文章
- golang 構建工具之 MakefileGolang
- Aura QuickAction OverrideUIIDE
- 方法重寫(Override)IDE
- C++11新特性之final override識別符號C++IDE符號
- 嵌入式之Makefile學習筆記筆記
- Makefile
- makefile 進行宏定義的便捷之處
- Android OTA升級(一)之Makefile檔案分析Android
- Linux開發之Makefile簡明教程及示例Linux
- override(重寫) and overload(過載)IDE
- 【Makefile】5-Makefile變數的基礎變數
- makefile規則
- Java 重寫(Override)與過載(Overload)JavaIDE
- C#關鍵字之過載overload、重寫override、覆寫overwrite(new)詳解C#IDE
- 使用makefile編譯編譯
- Makefile使用教程1
- makefile 簡明教程
- Makefile學習(一)
- Makefile好助手:pkgconfigGC
- makefile檔案案例
- makefile快速入門
- Java-override重寫與overload過載JavaIDE
- Makefile學習之路(2) — Makefile的變數和萬用字元變數字元
- 16.Makefile約定
- makefile =和:=的區別
- Makefile學習筆記筆記
- 初識makefile結構
- Makefile例項學習
- 二十二、SpringCloud分散式微服務雲架構之Java 重寫(Override)與過載(Overload)SpringGCCloud分散式微服務架構JavaIDE
- 一分鐘開始持續整合之旅系列之:C 語言 + Makefile
- Makefile基本規則和原理
- C編譯: makefile基礎編譯
- 11 個 Makefile 實戰技巧
- Makefile-4-書寫命令
- 跟我一起寫Makefile
- Error in invoking target 'agent nmhs' of makefileError
- Makefile與Shell的問題
- makefile中的偽目標