Home | History | Annotate | Line # | Download | only in unit-tests
varcmd.mk revision 1.2
      1  1.2  sjg # $Id: varcmd.mk,v 1.2 2017/11/18 22:34:04 sjg 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.1  apb FU=fu
      6  1.1  apb FOO?=foo
      7  1.1  apb .if !empty(.TARGETS)
      8  1.1  apb TAG=${.TARGETS}
      9  1.1  apb .endif
     10  1.1  apb 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.1  apb 	@${.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.2  sjg _FU:= ${FU}
     31  1.2  sjg two: immutable
     32  1.2  sjg immutable:
     33  1.2  sjg 	@echo "$@ FU='${_FU}'"
     34  1.2  sjg .endif
     35  1.1  apb .ifmake four
     36  1.1  apb VAR=Internal
     37  1.1  apb .MAKEOVERRIDES+= VAR
     38  1.1  apb .endif
     39  1.1  apb 
     40  1.1  apb four:	show
     41  1.1  apb 	@${.MAKE} -f ${MAKEFILE} five
     42  1.1  apb 
     43  1.1  apb M = x
     44  1.1  apb V.y = is y
     45  1.1  apb V.x = is x
     46  1.1  apb V := ${V.$M}
     47  1.1  apb K := ${V}
     48  1.1  apb 
     49  1.1  apb show-v:
     50  1.1  apb 	@echo '${TAG} v=${V} k=${K}'
     51  1.1  apb 
     52  1.1  apb five:	show show-v
     53  1.1  apb 	@${.MAKE} -f ${MAKEFILE} M=y six
     54  1.1  apb 
     55  1.1  apb six:	show-v
     56  1.1  apb 	@${.MAKE} -f ${MAKEFILE} V=override show-v
     57  1.1  apb 
     58