head	1.1;
access;
symbols
	RELENG_9:1.1.0.2;
locks; strict;
comment	@# @;


1.1
date	2012.10.03.00.41.46;	author marcel;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2012.10.03.00.41.46;	author svnexp;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2014.03.16.00.01.46;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@SVN rev 241146 on 2012-10-03 00:41:46Z by marcel

Merge bmake-20120831 from vendor/NetBSD/bmake/dist.

Provenance: ftp://ftp.netbsd.org/pub/NetBSD/misc/sjg
@
text
@# $Id: varcmd,v 1.3 2008/05/15 04:30:47 sjg 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=<v>${FU}</v> FOO=<v>${FOO}</v> VAR=<v>${VAR}</v>"

one:	show
	@@${.MAKE} -f ${MAKEFILE} FU=bar FOO=goo two

two:	show
	@@${.MAKE} -f ${MAKEFILE} three

three:	show
	@@${.MAKE} -f ${MAKEFILE} four


.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

@


1.1.2.1
log
@file varcmd was added on branch RELENG_9 on 2014-03-16 00:01:46 +0000
@
text
@d1 49
@


1.1.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/263212
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 49
# $Id: varcmd,v 1.3 2008/05/15 04:30:47 sjg 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=<v>${FU}</v> FOO=<v>${FOO}</v> VAR=<v>${VAR}</v>"

one:	show
	@@${.MAKE} -f ${MAKEFILE} FU=bar FOO=goo two

two:	show
	@@${.MAKE} -f ${MAKEFILE} three

three:	show
	@@${.MAKE} -f ${MAKEFILE} four


.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

@


