Home | History | Annotate | Line # | Download | only in unit-tests
varname-dot-make-level.mk revision 1.3
      1  1.3  rillig # $NetBSD: varname-dot-make-level.mk,v 1.3 2024/06/01 18:44:05 rillig Exp $
      2  1.1  rillig #
      3  1.3  rillig # Tests for the special .MAKE.LEVEL variable, which informs about the
      4  1.3  rillig # recursion level.  It is related to the environment variable MAKELEVEL,
      5  1.3  rillig # even though they don't have the same value.
      6  1.1  rillig 
      7  1.3  rillig level_1: .PHONY
      8  1.3  rillig 	@printf 'level 1: variable %s, env %s\n' ${.MAKE.LEVEL} "$$${.MAKE.LEVEL.ENV}"
      9  1.3  rillig 	@${MAKE} -f ${MAKEFILE} level_2
     10  1.1  rillig 
     11  1.3  rillig level_2: .PHONY
     12  1.3  rillig 	@printf 'level 2: variable %s, env %s\n' ${.MAKE.LEVEL} "$$${.MAKE.LEVEL.ENV}"
     13  1.3  rillig 	@${MAKE} -f ${MAKEFILE} level_3
     14  1.3  rillig 
     15  1.3  rillig level_3: .PHONY
     16  1.3  rillig 	@printf 'level 3: variable %s, env %s\n' ${.MAKE.LEVEL} "$$${.MAKE.LEVEL.ENV}"
     17  1.3  rillig 
     18  1.3  rillig # The .unexport-env directive clears the environment, except for the
     19  1.3  rillig # MAKE_LEVEL variable.
     20  1.3  rillig .if make(level_2)
     21  1.3  rillig .unexport-env
     22  1.3  rillig .endif
     23