Next: The Make Macro SHELL, Previous: Macros and Submakes, Up: Portable Make Programming [Contents][Index]
Posix requires make to use MAKEFLAGS to affect the
current and recursive invocations of make, but allows implementations
several formats for the variable. It is tricky to parse
$MAKEFLAGS to determine whether -s for silent execution
or -k for continued execution are in effect. For example, you
cannot assume that the first space-separated word in $MAKEFLAGS
contains single-letter options, since in the Cygwin version of
GNU make it is either --unix or
--win32 with the second word containing single-letter options.
$ cat Makefile
all:
@echo MAKEFLAGS = $(MAKEFLAGS)
$ make
MAKEFLAGS = --unix
$ make -k
MAKEFLAGS = --unix -k