The man page says: -p, --print-data-base Print the data base (rules and variable values) that results from reading the makefiles; then execute as usual or as otherwise specified. This also prints the version information given by the -v switch (see below). To print the data base without trying to remake any files, use make -p -f/dev/null.
But when I try 'make hello' with this Makefile: hello: @echo $@ The hello is output before the database, not after. It looks like things don't happen in the order specified, or else some sort of undocumented buffering is happening. Britton