Makefile中Command敘述的Shell變數存取 May 18th, 2014 7:18 am | Comments 想說寫一個loop自動make變數內的目錄 錯誤的Makefile1 2 3 4 DIRS = libs src all: for i in ${DIRS}; do make -C $i; done 結果跑出來和想像不同 make結果1 2 for i in lib src; do make -C ; done make: option requires an argument -- 'C' 原因是$本身在Makefile有特殊意義。要使用$$才能在command敘述中顯示$,因此改進如下 正確的Makefile1 2 3 4 DIRS = libs src all: for i in ${DIRS}; do make -C $$i; done 參考資料 Stackoverflow: How do I use shell variables in Makefile actions?