我正在寫一個makefile以供學生分發。爲了緩解他們的黑客體驗,我想對未初始化的變量進行警告。如何在makefile中設置長選項
我知道有這個選項--warn-undefined-variables可以做到這一點,當然,我可以添加一個別名別名make =「make --warn-undefined-variables」給我的.bashrc 。但是我想在makefile中設置這個選項,這樣當學生開始擴展makefile時,他們也會自動從這些警告中獲益。 這樣做的邏輯方法是MAKEFLAGS變量。然而,儘管它適用於短選項,我不能在Can make warn me, when I use unset variables?
的Makefile描述它與--warn-不確定變量工作:
MAKEFLAGS=--warn-undefined-variables
$(info MAKEFLAGS: $(MAKEFLAGS))
$(info ${BAR})
電話:
$ make
MAKEFLAGS: --warn-undefined-variables
make: *** No targets. Stop.
$ make --warn-undefined-variables
MAKEFLAGS: --warn-undefined-variables
Makefile:3: warning: undefined variable 'BAR'
make: *** No targets. Stop.
當我將MAKEFLAGS更改爲-d控制檯充斥着調試信息,所以我知道MAKEFLAGS設置正確。有什麼建議麼?
你將會淹沒像'TARGET_ARCH'和'LOADLIBES'這樣的未設置變量的虛假警告。 – Wintermute
這取決於他是否使用內置規則來處理任何事情,我認爲。 –