Home | History | Annotate | Line # | Download | only in unit-tests
      1  1.11     sjg # $NetBSD: varname-dot-makeflags.mk,v 1.11 2025/05/20 17:56:40 sjg Exp $
      2   1.1  rillig #
      3   1.1  rillig # Tests for the special .MAKEFLAGS variable, which collects almost all
      4   1.1  rillig # command line arguments and passes them on to any child processes via
      5   1.1  rillig # the environment variable MAKEFLAGS (without leading '.').
      6   1.2  rillig #
      7   1.2  rillig # See also:
      8   1.2  rillig #	varname-dot-makeoverrides.mk
      9   1.2  rillig 
     10   1.8  rillig # expect+1: MAKEFLAGS=<undefined>
     11   1.6  rillig .info MAKEFLAGS=<${MAKEFLAGS:Uundefined}>
     12   1.8  rillig # expect+1: .MAKEFLAGS=< -r -k>
     13   1.6  rillig .info .MAKEFLAGS=<${.MAKEFLAGS}>
     14   1.8  rillig # expect+1: .MAKEOVERRIDES=<>
     15   1.6  rillig .info .MAKEOVERRIDES=<${.MAKEOVERRIDES:Uundefined}>
     16   1.6  rillig 
     17   1.6  rillig # Append an option with argument, a plain option and a variable assignment.
     18   1.6  rillig .MAKEFLAGS: -DVARNAME -r VAR=value
     19   1.6  rillig 
     20   1.7  rillig # expect+1: MAKEFLAGS=<undefined>
     21   1.6  rillig .info MAKEFLAGS=<${MAKEFLAGS:Uundefined}>
     22   1.7  rillig # expect+1: .MAKEFLAGS=< -r -k -D VARNAME -r>
     23   1.6  rillig .info .MAKEFLAGS=<${.MAKEFLAGS}>
     24   1.7  rillig # expect+1: .MAKEOVERRIDES=< VAR>
     25   1.6  rillig .info .MAKEOVERRIDES=<${.MAKEOVERRIDES}>
     26   1.2  rillig 
     27  1.11     sjg # The environment variable 'MAKEFLAGS' is not available to child processes
     28  1.11     sjg # when parsing the makefiles.  This is different from exported variables,
     29  1.11     sjg # which are already available during parse time.
     30  1.11     sjg .if ${:!echo "\${MAKEFLAGS-undef}"!} != "undef"
     31  1.10  rillig .  error
     32  1.10  rillig .endif
     33  1.10  rillig 
     34   1.7  rillig # After parsing, the environment variable 'MAKEFLAGS' is set based on the
     35   1.7  rillig # special variables '.MAKEFLAGS' and '.MAKEOVERRIDES'.
     36   1.6  rillig runtime:
     37   1.2  rillig 	@echo '$@: MAKEFLAGS=<'${MAKEFLAGS:Q}'>'
     38   1.6  rillig 	@echo '$@: .MAKEFLAGS=<'${.MAKEFLAGS:Q}'>'
     39   1.6  rillig 	@echo '$@: .MAKEOVERRIDES=<'${.MAKEOVERRIDES:Q}'>'
     40