首先列出其中的target:
- grep -E '^[^: \t]+:' Makefile
- grep -E '^[a-zA-Z0-9_.-]+:' Makefile
- grep -E '^[^[:space:]:]+:' Makefile
- grep -P '^[^\s:]+:' Makefile
-E和-P
- -E --extended-regexp Interpret PATTERNS as extended regular expressions.
- -P, --perl-regexp Interpret PATTERNS as Perl-compatible regular expressions (PCREs).
可以在.bashrc里alias grep='grep -E'
然后看看变量的值。准备个print-vars.mk,内容如下:
print-all-vars:
$(foreach V, $(sort $(.VARIABLES)), $(info $V=$($V)))
# $(foreach <var>, <list>, <text>)
print-vars:
$(foreach V, $(sort $(.VARIABLES)),\
$(if $(filter-out environment% default automatic, $(origin $V)),\
$(info $V=$($V))))
# $(if <condition>, <then-part>[, <else-part>])
# $(filter-out <patterns>, <text>)
# $(warning text) 输出时带文件名和行号
在Makefile的最后面include print-vars.mk,然后make print-vars或make print-all-vars
这个文件可以复用。