I frequently find myself looking for default make rules, and inevitably how to print their values. Here's a script to help.
Adapted from https://blog.melski.net/2010/11/30/makefile-hacks-print-the-value-of-any-variable/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ cat ~ /bin/make-vars #!/bin/bash _vars= for v in $@; do _vars= "${_vars} print-${v}" done make -f- ${_vars} << 'EOF' print-%: @ echo '$*=$($*)' @ echo ' origin = $(origin $*)' @ echo ' flavor = $(flavor $*)' @ echo ' value = $(value $*)' EOF |
Here it is in use
1 2 3 4 5 | $ make -vars LINK.cc LINK.cc=c++ origin = default flavor = recursive value = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) |
No comments:
Post a Comment