除了自動變數, make 還會為 "自己的狀態以及內建規則的定製" 提供變數, 以便對外提供相關資訊 :
- MAKE_VERSION :
-CURDIR :
- MAKEFILE_LIST :
- MAKECMDGOALS :
- .VARIABLES :
參考範例 :
考慮以下 makefile 對應的原始檔已存在 :
* Makefile 內容 :
- BIN := /usr/bin
- PRINTF :=$(BIN)/printf
- count_words: count_words.o lexer.o -lfl list
- @echo "Make Version=$(MAKE_VERSION)"
- @echo "CurDir=$(CURDIR)"
- @echo "Makefile list=$(MAKEFILE_LIST)";
- @echo "Make Cmd Goals=$(MAKECMDGOALS)";
- gcc count_words.o lexer.o -lfl -o count_words
- count_words.o: count_words.c
- gcc -c count_words.c
- lexer.o: lexer.c
- gcc -c lexer.c
- lexer.c: lexer.l
- flex -t lexer.l > lexer.c
- list:
- @echo "$(.VARIABLES)" | tr ' ' "\n" | grep MAKEF
Supplement
* GNU Make Doc - How to Use Variables
沒有留言:
張貼留言