1
我試圖創建一個單一的日誌文件,跟蹤並報告每個配方的結果,因爲make過程通過生成文件移動。Makefile環境變量配方之間的變化
要做到這一點,我創建了一個環境變量來保存像這樣我的日誌文件參考:
LOGDIR = logs
LOGFILE = $(LOGDIR)/$(shell date --iso=seconds).log
目的是然後用
echo "message" >> $(LOGFILE)
問題是,當處理從一個配方移動到下一個配方時,環境變量會被重新評估,導致我的makefile中每個配方產生一個新的日誌文件。
爲什麼要重新評估環境變量,以及如何防止這種情況使用對日誌文件的單個全局引用?
我認爲使用$(shell operator)
語法可以防止重新評估變量,基於Aaron的回答here。
確實,我錯過了變量賦值中的冒號,謝謝! –