I see that this is the same question as
Making cmake print commands before executing
But that answer doesn’t work for me. I’m guessing that answer only works with cmake. What options work without cmake?
Note tried these
make VERBOSE=1 target
make target VERBOSE=1
VERBOSE=1 make target
make V=1 target
make target V=1
V=1 make target
make -V target
make -v target
none of them worked.
make -v returns
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
By default,
makedoes print every command before executing it. This printing can be suppressed by one of the following mechanisms:@at the beginning of the command-s,--silentor--quiet, as in$(MAKE) --silent -C someDir, for example. From that moment on, command echoing is suppressed in the sub-make.If your makefile does not print the commands, then it is probably using one of these three mechanisms, and you have to actually inspect the makefile(s) to figure out which.
As a workaround to avoid these echo-suppressing mechanisms, you could re-define the shell to be used to use a debug mode, for example like
make SHELL="/bin/bash -x" target. Other shells have similar options. With that approach, it is notmakeprinting the commands, but the shell itself.If you use the flag
-nor--just-print, the echo-suppressing mechanisms will be ignored and you will always see all commands thatmakethinks should be executed — but they are not actually executed, just printed. That might be a good way to figure out what you can actually expect to see.The
VERBOSEvariable has no standard meaning formake, but only if your makefile interprets it.