Home | History | Annotate | Line # | Download | only in unit-tests
varcmd.mk revision 1.5
      1  1.5  rillig # $NetBSD: varcmd.mk,v 1.5 2020/10/24 08:50:17 rillig Exp $
      2  1.1     apb #
      3  1.1     apb # Test behaviour of recursive make and vars set on command line.
      4  1.1     apb 
      5  1.5  rillig FU=	fu
      6  1.5  rillig FOO?=	foo
      7  1.1     apb .if !empty(.TARGETS)
      8  1.5  rillig TAG=	${.TARGETS}
      9  1.1     apb .endif
     10  1.5  rillig TAG?=	default
     11  1.1     apb 
     12  1.1     apb all:	one
     13  1.1     apb 
     14  1.1     apb show:
     15  1.1     apb 	@echo "${TAG} FU=<v>${FU}</v> FOO=<v>${FOO}</v> VAR=<v>${VAR}</v>"
     16  1.1     apb 
     17  1.1     apb one:	show
     18  1.3     sjg 	@${.MAKE} -f ${MAKEFILE} FU=bar FOO+=goo two
     19  1.1     apb 
     20  1.1     apb two:	show
     21  1.1     apb 	@${.MAKE} -f ${MAKEFILE} three
     22  1.1     apb 
     23  1.1     apb three:	show
     24  1.1     apb 	@${.MAKE} -f ${MAKEFILE} four
     25  1.1     apb 
     26  1.1     apb 
     27  1.2     sjg .ifmake two
     28  1.2     sjg # this should not work
     29  1.2     sjg FU+= oops
     30  1.3     sjg FOO+= oops
     31  1.2     sjg _FU:= ${FU}
     32  1.3     sjg _FOO:= ${FOO}
     33  1.2     sjg two: immutable
     34  1.2     sjg immutable:
     35  1.2     sjg 	@echo "$@ FU='${_FU}'"
     36  1.3     sjg 	@echo "$@ FOO='${_FOO}'"
     37  1.2     sjg .endif
     38  1.1     apb .ifmake four
     39  1.1     apb VAR=Internal
     40  1.1     apb .MAKEOVERRIDES+= VAR
     41  1.1     apb .endif
     42  1.1     apb 
     43  1.1     apb four:	show
     44  1.1     apb 	@${.MAKE} -f ${MAKEFILE} five
     45  1.1     apb 
     46  1.5  rillig M=	x
     47  1.5  rillig V.y=	is y
     48  1.5  rillig V.x=	is x
     49  1.5  rillig V:=	${V.$M}
     50  1.5  rillig K:=	${V}
     51  1.1     apb 
     52  1.1     apb show-v:
     53  1.1     apb 	@echo '${TAG} v=${V} k=${K}'
     54  1.1     apb 
     55  1.1     apb five:	show show-v
     56  1.1     apb 	@${.MAKE} -f ${MAKEFILE} M=y six
     57  1.1     apb 
     58  1.1     apb six:	show-v
     59  1.1     apb 	@${.MAKE} -f ${MAKEFILE} V=override show-v
     60  1.1     apb 
     61