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