@vegard And to make the recursive case always works you can use the leading + like:
$ cat Makefile all: echo maybe_exec +echo always_exec +$(MAKE) -C subdir $ cat subdir/Makefile all: echo subdir echo $(MAKEFLAGS) $ MAKEFLAGS=-n bmake echo maybe_exec echo always_exec always_exec bmake -C subdir echo subdir echo -n