前言

  1. 變數用途:
    1. 簡化 makefile
    2. 開發過程與最終版本使用之編譯參數不同
      1. 開發應用程式過程中,不會進行最佳化處理,而須連結一些除錯資訊;
      2. 最終版本則應是一個最小的二進位檔案,且不含除錯資訊。
    3. 讓 makefile 也適用不同的編譯器。
  2. 變數定義:MACRONAME=value
    1. 變數與變數內容以『=』隔開,同時兩邊可以具有空格;
      (shell 中的變數設定,兩邊不可以具有空格)
    2. 變數左邊不可以有 <tab>
    3. 變數與變數內容在『=』兩邊不能具有『:』;
    4. 習慣上,變數最好是以『大寫字母』為主;
    5. 等號後面的 value 變成空白時,代表將變數清成空白。
  3. 變數存取
    1. $(MACRONAME)
    2. ${MACRONAME}
    3. 有些 make 版本也接受 $MACRONAME
  4. 環境變數取用規則:
    1. make 指令列後面加上的環境變數為優先;
    2. makefile 裡面指定的環境變數第二;
    3. shell 原本具有的環境變數第三。