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

Reply via email to