I don't know how POSIX-ish it is but IMO -x deserves a mention,
especially since -e gets one. It's a little annoying that it end up
repeating the commands a second time, but without it you end up with
all the commands listed, followed by an error for one of the early
ones which is confusing at best and ambiguous about where the error
actually occurred at worst.
With -x:
$ cat Makefile
.ONESHELL:
test: .SHELLFLAGS = -e -x -c
test:
true
ls nonexistent
touch $@
$ make test
true
ls nonexistent
touch test
+ true
+ ls nonexistent
ls: cannot access 'nonexistent': No such file or directory
make: *** [Makefile:5: test] Error 2
Without -x:
$ cat Makefile
.ONESHELL:
test: .SHELLFLAGS = -e -c
test:
true
ls nonexistent
touch $@
$ make test
true
ls nonexistent
touch test
ls: cannot access 'nonexistent': No such file or directory
make: *** [Makefile:5: test] Error 2