head	1.4;
access;
symbols
	perseant-exfatfs-base-20250801:1.4
	perseant-exfatfs-base-20240630:1.4
	perseant-exfatfs:1.4.0.16
	perseant-exfatfs-base:1.4
	cjep_sun2x:1.4.0.14
	cjep_sun2x-base:1.4
	cjep_staticlib_x-base1:1.4
	cjep_staticlib_x:1.4.0.12
	cjep_staticlib_x-base:1.4
	phil-wifi-20200421:1.4
	phil-wifi-20200411:1.4
	phil-wifi-20200406:1.4
	pgoyette-compat-merge-20190127:1.4
	pgoyette-compat-20190127:1.4
	pgoyette-compat-20190118:1.4
	pgoyette-compat-1226:1.4
	pgoyette-compat-1126:1.4
	pgoyette-compat-1020:1.4
	pgoyette-compat-0930:1.4
	pgoyette-compat-0906:1.4
	netbsd-7-2-RELEASE:1.3
	pgoyette-compat-0728:1.4
	pgoyette-compat-0625:1.4
	pgoyette-compat-0521:1.4
	pgoyette-compat-0502:1.4
	pgoyette-compat-0422:1.4
	pgoyette-compat-0415:1.4
	pgoyette-compat-0407:1.4
	pgoyette-compat-0330:1.4
	pgoyette-compat-0322:1.4
	pgoyette-compat-0315:1.4
	netbsd-7-1-2-RELEASE:1.3
	pgoyette-compat:1.4.0.10
	pgoyette-compat-base:1.4
	netbsd-7-1-1-RELEASE:1.3
	perseant-stdc-iso10646:1.4.0.8
	perseant-stdc-iso10646-base:1.4
	prg-localcount2-base3:1.4
	prg-localcount2-base2:1.4
	prg-localcount2-base1:1.4
	prg-localcount2:1.4.0.6
	prg-localcount2-base:1.4
	pgoyette-localcount-20170426:1.4
	bouyer-socketcan-base1:1.4
	pgoyette-localcount-20170320:1.4
	netbsd-7-1:1.3.0.44
	netbsd-7-1-RELEASE:1.3
	netbsd-7-1-RC2:1.3
	netbsd-7-nhusb-base-20170116:1.3
	bouyer-socketcan:1.4.0.4
	bouyer-socketcan-base:1.4
	pgoyette-localcount-20170107:1.4
	netbsd-7-1-RC1:1.3
	pgoyette-localcount-20161104:1.4
	netbsd-7-0-2-RELEASE:1.3
	localcount-20160914:1.4
	netbsd-7-nhusb:1.3.0.42
	netbsd-7-nhusb-base:1.3
	pgoyette-localcount-20160806:1.4
	pgoyette-localcount-20160726:1.4
	pgoyette-localcount:1.4.0.2
	pgoyette-localcount-base:1.4
	netbsd-7-0-1-RELEASE:1.3
	netbsd-7-0:1.3.0.40
	netbsd-7-0-RELEASE:1.3
	netbsd-7-0-RC3:1.3
	netbsd-7-0-RC2:1.3
	netbsd-7-0-RC1:1.3
	netbsd-5-2-3-RELEASE:1.3
	netbsd-5-1-5-RELEASE:1.3
	netbsd-6-0-6-RELEASE:1.3
	netbsd-6-1-5-RELEASE:1.3
	netbsd-7:1.3.0.38
	netbsd-7-base:1.3
	yamt-pagecache-base9:1.3
	yamt-pagecache-tag8:1.3
	netbsd-6-1-4-RELEASE:1.3
	netbsd-6-0-5-RELEASE:1.3
	tls-earlyentropy:1.3.0.36
	tls-earlyentropy-base:1.3
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.3
	riastradh-drm2-base3:1.3
	netbsd-6-1-3-RELEASE:1.3
	netbsd-6-0-4-RELEASE:1.3
	netbsd-5-2-2-RELEASE:1.3
	netbsd-5-1-4-RELEASE:1.3
	netbsd-6-1-2-RELEASE:1.3
	netbsd-6-0-3-RELEASE:1.3
	netbsd-5-2-1-RELEASE:1.3
	netbsd-5-1-3-RELEASE:1.3
	netbsd-6-1-1-RELEASE:1.3
	riastradh-drm2-base2:1.3
	riastradh-drm2-base1:1.3
	riastradh-drm2:1.3.0.30
	riastradh-drm2-base:1.3
	netbsd-6-1:1.3.0.34
	netbsd-6-0-2-RELEASE:1.3
	netbsd-6-1-RELEASE:1.3
	netbsd-6-1-RC4:1.3
	netbsd-6-1-RC3:1.3
	agc-symver:1.3.0.32
	agc-symver-base:1.3
	netbsd-6-1-RC2:1.3
	dholland-make-base:1.3
	netbsd-6-1-RC1:1.3
	yamt-pagecache-base8:1.3
	netbsd-5-2:1.3.0.28
	netbsd-6-0-1-RELEASE:1.3
	yamt-pagecache-base7:1.3
	netbsd-5-2-RELEASE:1.3
	netbsd-5-2-RC1:1.3
	matt-nb6-plus-nbase:1.3
	yamt-pagecache-base6:1.3
	netbsd-6-0:1.3.0.26
	netbsd-6-0-RELEASE:1.3
	netbsd-6-0-RC2:1.3
	tls-maxphys:1.3.0.24
	tls-maxphys-base:1.3
	matt-nb6-plus:1.3.0.22
	matt-nb6-plus-base:1.3
	netbsd-6-0-RC1:1.3
	yamt-pagecache-base5:1.3
	yamt-pagecache-base4:1.3
	netbsd-6:1.3.0.20
	netbsd-6-base:1.3
	netbsd-5-1-2-RELEASE:1.3
	netbsd-5-1-1-RELEASE:1.3
	yamt-pagecache-base3:1.3
	yamt-pagecache-base2:1.3
	yamt-pagecache:1.3.0.2
	yamt-pagecache-base:1.3
	cherry-xenmp:1.3.0.18
	cherry-xenmp-base:1.3
	bouyer-quota2-nbase:1.3
	bouyer-quota2:1.3.0.16
	bouyer-quota2-base:1.3
	matt-mips64-premerge-20101231:1.3
	matt-nb5-mips64-premerge-20101231:1.3
	matt-nb5-pq3:1.3.0.14
	matt-nb5-pq3-base:1.3
	netbsd-5-1:1.3.0.12
	netbsd-5-1-RELEASE:1.3
	netbsd-5-1-RC4:1.3
	matt-nb5-mips64-k15:1.3
	netbsd-5-1-RC3:1.3
	netbsd-5-1-RC2:1.3
	netbsd-5-1-RC1:1.3
	netbsd-5-0-2-RELEASE:1.3
	matt-nb5-mips64-premerge-20091211:1.3
	matt-premerge-20091211:1.3
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.3
	matt-nb4-mips64-k7-u2a-k9b:1.3
	matt-nb5-mips64-u1-k1-k5:1.3
	matt-nb5-mips64:1.3.0.10
	netbsd-5-0-1-RELEASE:1.3
	jym-xensuspend-nbase:1.3
	netbsd-5-0:1.3.0.8
	netbsd-5-0-RELEASE:1.3
	netbsd-5-0-RC4:1.3
	netbsd-5-0-RC3:1.3
	netbsd-5-0-RC2:1.3
	jym-xensuspend:1.3.0.6
	jym-xensuspend-base:1.3
	netbsd-5-0-RC1:1.3
	netbsd-5:1.3.0.4
	netbsd-5-base:1.3
	matt-mips64-base2:1.3
	matt-mips64:1.2.0.24
	netbsd-4-0-1-RELEASE:1.2
	wrstuden-revivesa-base-3:1.3
	wrstuden-revivesa-base-2:1.3
	wrstuden-fixsa-newbase:1.2
	wrstuden-revivesa-base-1:1.3
	yamt-pf42-base4:1.3
	yamt-pf42-base3:1.3
	hpcarm-cleanup-nbase:1.3
	yamt-pf42-baseX:1.2
	yamt-pf42-base2:1.3
	wrstuden-revivesa:1.2.0.22
	wrstuden-revivesa-base:1.3
	yamt-pf42:1.2.0.20
	yamt-pf42-base:1.2
	keiichi-mipv6-nbase:1.2
	keiichi-mipv6:1.2.0.18
	keiichi-mipv6-base:1.2
	christos-broken:1.2
	matt-armv6-nbase:1.2
	matt-armv6-prevmlocking:1.2
	wrstuden-fixsa-base-1:1.2
	netbsd-4-0:1.2.0.16
	netbsd-4-0-RELEASE:1.2
	cube-autoconf:1.2.0.14
	cube-autoconf-base:1.2
	netbsd-4-0-RC5:1.2
	netbsd-4-0-RC4:1.2
	netbsd-4-0-RC3:1.2
	netbsd-4-0-RC2:1.2
	netbsd-4-0-RC1:1.2
	matt-armv6:1.2.0.12
	matt-armv6-base:1.2
	matt-mips64-base:1.2
	hpcarm-cleanup:1.2.0.10
	hpcarm-cleanup-base:1.2
	netbsd-3-1-1-RELEASE:1.1
	netbsd-3-0-3-RELEASE:1.1
	wrstuden-fixsa:1.2.0.8
	wrstuden-fixsa-base:1.2
	abandoned-netbsd-4-base:1.2
	abandoned-netbsd-4:1.2.0.4
	netbsd-3-1:1.1.0.12
	netbsd-3-1-RELEASE:1.1
	netbsd-3-0-2-RELEASE:1.1
	netbsd-3-1-RC4:1.1
	netbsd-3-1-RC3:1.1
	netbsd-3-1-RC2:1.1
	netbsd-3-1-RC1:1.1
	netbsd-4:1.2.0.6
	netbsd-4-base:1.2
	chap-midi-nbase:1.2
	netbsd-3-0-1-RELEASE:1.1
	chap-midi:1.2.0.2
	chap-midi-base:1.2
	netbsd-3-0:1.1.0.10
	netbsd-3-0-RELEASE:1.1
	netbsd-3-0-RC6:1.1
	netbsd-3-0-RC5:1.1
	netbsd-3-0-RC4:1.1
	netbsd-3-0-RC3:1.1
	netbsd-3-0-RC2:1.1
	netbsd-3-0-RC1:1.1
	netbsd-2-0-3-RELEASE:1.1
	netbsd-2-1:1.1.0.8
	netbsd-2-1-RELEASE:1.1
	netbsd-2-1-RC6:1.1
	netbsd-2-1-RC5:1.1
	netbsd-2-1-RC4:1.1
	netbsd-2-1-RC3:1.1
	netbsd-2-1-RC2:1.1
	netbsd-2-1-RC1:1.1
	netbsd-2-0-2-RELEASE:1.1
	netbsd-3:1.1.0.6
	netbsd-3-base:1.1
	netbsd-2-0-1-RELEASE:1.1
	netbsd-2:1.1.0.4
	netbsd-2-base:1.1
	netbsd-2-0-RELEASE:1.1
	netbsd-2-0-RC5:1.1
	netbsd-2-0-RC4:1.1
	netbsd-2-0-RC3:1.1
	netbsd-2-0-RC2:1.1
	netbsd-2-0-RC1:1.1
	netbsd-2-0:1.1.0.2
	netbsd-2-0-base:1.1;
locks; strict;
comment	@# @;


1.4
date	2014.08.21.13.44.52;	author apb;	state dead;
branches;
next	1.3;
commitid	PNRbDMs9XSDHweNx;

1.3
date	2008.05.14.14.27.02;	author sjg;	state Exp;
branches;
next	1.2;

1.2
date	2005.06.01.17.17.34;	author sjg;	state Exp;
branches
	1.2.20.1
	1.2.22.1;
next	1.1;

1.1
date	2003.07.31.00.46.15;	author sjg;	state Exp;
branches;
next	;

1.2.20.1
date	2008.05.18.12.36.07;	author yamt;	state Exp;
branches;
next	;

1.2.22.1
date	2008.06.23.04.32.11;	author wrstuden;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Give each group of tests its own output file.

* Rename each sub-makefile to *.mk;
* Add a *.exp file of expected output for each sub-makefile;
* Remove test.exp, which is replaced by all the other *.exp files.
* Use suffix rules to generate *.rawout and *.out files for
  each test case.
* Rewrite the test and accept targets to adapt to the new way.

The old (now removed) test.exp file is almost identical to the
concatenation (in the correct order) of all the new *.exp files.  There
are expected differences in makefile names embedded in the output, and
the new "exit status" lines.  Some old "*** Error code 1 (ignored)"
lines are also removed (replaced by new "exit status 1" lines).
@
text
@# $Id: varcmd,v 1.3 2008/05/14 14:27:02 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.3
log
@Do not set vars in VAR_GLOBAL context, if they have been set on the
command line.
Add a suitable unit-test.
@
text
@d1 1
a1 1
# $Id: varcmd,v 1.2 2005/06/01 17:17:34 sjg Exp $
@


1.2
log
@Add :Ox for random ordering, based on patch from
Mike M. Volokhov <mishka@@apk.od.ua>
@
text
@d1 1
a1 1
# $Id: varcmd,v 1.1 2003/07/31 00:46:15 sjg Exp $
d33 17
a49 1
	@@${.MAKE} -f ${MAKEFILE} show
@


1.2.22.1
log
@Sync w/ -current. 34 merge conflicts to follow.
@
text
@d1 1
a1 1
# $Id: varcmd,v 1.2 2005/06/01 17:17:34 sjg Exp $
d33 1
a33 17
	@@${.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.2.20.1
log
@sync with head.
@
text
@d1 1
a1 1
# $Id: varcmd,v 1.2 2005/06/01 17:17:34 sjg Exp $
d33 1
a33 17
	@@${.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
log
@Test behavior of commandline variable assignments.
@
text
@d1 1
a1 1
# $Id: varcmd,v 1.1 2001/06/06 07:07:27 sjg Exp sjg $
d18 1
a18 1
	@@${MAKE} -f ${MAKEFILE} FU=bar FOO=goo two
d21 1
a21 1
	@@${MAKE} -f ${MAKEFILE} three
d24 1
a24 1
	@@${MAKE} -f ${MAKEFILE} four
d33 1
a33 1
	@@${MAKE} -f ${MAKEFILE} show
@
