# $NetBSD: varcmd.mk,v 1.5 2020/10/24 08:50:17 rillig Exp $ # # Test behaviour of recursive make and vars set on command line. FU= fu FOO?= foo .if !empty(.TARGETS) TAG= ${.TARGETS} .endif TAG?= default all: one show: @echo "${TAG} FU=${FU} FOO=${FOO} VAR=${VAR}" one: show @${.MAKE} -f ${MAKEFILE} FU=bar FOO+=goo two two: show @${.MAKE} -f ${MAKEFILE} three three: show @${.MAKE} -f ${MAKEFILE} four .ifmake two # this should not work FU+= oops FOO+= oops _FU:= ${FU} _FOO:= ${FOO} two: immutable immutable: @echo "$@ FU='${_FU}'" @echo "$@ FOO='${_FOO}'" .endif .ifmake four VAR=Internal .MAKEOVERRIDES+= VAR .endif four: show @${.MAKE} -f ${MAKEFILE} five M= x V.y= is y V.x= is x V:= ${V.$M} K:= ${V} show-v: @echo '${TAG} v=${V} k=${K}' five: show show-v @${.MAKE} -f ${MAKEFILE} M=y six six: show-v @${.MAKE} -f ${MAKEFILE} V=override show-v