head	1.3;
access;
symbols
	perseant-exfatfs-base-20250801:1.3
	perseant-exfatfs-base-20240630:1.3
	perseant-exfatfs:1.3.0.16
	perseant-exfatfs-base:1.3
	cjep_sun2x:1.3.0.14
	cjep_sun2x-base:1.3
	cjep_staticlib_x-base1:1.3
	cjep_staticlib_x:1.3.0.12
	cjep_staticlib_x-base:1.3
	phil-wifi-20200421:1.3
	phil-wifi-20200411:1.3
	phil-wifi-20200406:1.3
	pgoyette-compat-merge-20190127:1.3
	pgoyette-compat-20190127:1.3
	pgoyette-compat-20190118:1.3
	pgoyette-compat-1226:1.3
	pgoyette-compat-1126:1.3
	pgoyette-compat-1020:1.3
	pgoyette-compat-0930:1.3
	pgoyette-compat-0906:1.3
	netbsd-7-2-RELEASE:1.2
	pgoyette-compat-0728:1.3
	pgoyette-compat-0625:1.3
	pgoyette-compat-0521:1.3
	pgoyette-compat-0502:1.3
	pgoyette-compat-0422:1.3
	pgoyette-compat-0415:1.3
	pgoyette-compat-0407:1.3
	pgoyette-compat-0330:1.3
	pgoyette-compat-0322:1.3
	pgoyette-compat-0315:1.3
	netbsd-7-1-2-RELEASE:1.2
	pgoyette-compat:1.3.0.10
	pgoyette-compat-base:1.3
	netbsd-7-1-1-RELEASE:1.2
	perseant-stdc-iso10646:1.3.0.8
	perseant-stdc-iso10646-base:1.3
	prg-localcount2-base3:1.3
	prg-localcount2-base2:1.3
	prg-localcount2-base1:1.3
	prg-localcount2:1.3.0.6
	prg-localcount2-base:1.3
	pgoyette-localcount-20170426:1.3
	bouyer-socketcan-base1:1.3
	pgoyette-localcount-20170320:1.3
	netbsd-7-1:1.2.0.26
	netbsd-7-1-RELEASE:1.2
	netbsd-7-1-RC2:1.2
	netbsd-7-nhusb-base-20170116:1.2
	bouyer-socketcan:1.3.0.4
	bouyer-socketcan-base:1.3
	pgoyette-localcount-20170107:1.3
	netbsd-7-1-RC1:1.2
	pgoyette-localcount-20161104:1.3
	netbsd-7-0-2-RELEASE:1.2
	localcount-20160914:1.3
	netbsd-7-nhusb:1.2.0.24
	netbsd-7-nhusb-base:1.2
	pgoyette-localcount-20160806:1.3
	pgoyette-localcount-20160726:1.3
	pgoyette-localcount:1.3.0.2
	pgoyette-localcount-base:1.3
	netbsd-7-0-1-RELEASE:1.2
	netbsd-7-0:1.2.0.22
	netbsd-7-0-RELEASE:1.2
	netbsd-7-0-RC3:1.2
	netbsd-7-0-RC2:1.2
	netbsd-7-0-RC1:1.2
	netbsd-6-0-6-RELEASE:1.2
	netbsd-6-1-5-RELEASE:1.2
	netbsd-7:1.2.0.20
	netbsd-7-base:1.2
	yamt-pagecache-base9:1.2
	yamt-pagecache-tag8:1.2
	netbsd-6-1-4-RELEASE:1.2
	netbsd-6-0-5-RELEASE:1.2
	tls-earlyentropy:1.2.0.18
	tls-earlyentropy-base:1.2
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2
	riastradh-drm2-base3:1.2
	netbsd-6-1-3-RELEASE:1.2
	netbsd-6-0-4-RELEASE:1.2
	netbsd-6-1-2-RELEASE:1.2
	netbsd-6-0-3-RELEASE:1.2
	netbsd-6-1-1-RELEASE:1.2
	riastradh-drm2-base2:1.2
	riastradh-drm2-base1:1.2
	riastradh-drm2:1.2.0.12
	riastradh-drm2-base:1.2
	netbsd-6-1:1.2.0.16
	netbsd-6-0-2-RELEASE:1.2
	netbsd-6-1-RELEASE:1.2
	netbsd-6-1-RC4:1.2
	netbsd-6-1-RC3:1.2
	agc-symver:1.2.0.14
	agc-symver-base:1.2
	netbsd-6-1-RC2:1.2
	dholland-make-base:1.2
	netbsd-6-1-RC1:1.2
	yamt-pagecache-base8:1.2
	netbsd-6-0-1-RELEASE:1.2
	yamt-pagecache-base7:1.2
	matt-nb6-plus-nbase:1.2
	yamt-pagecache-base6:1.2
	netbsd-6-0:1.2.0.10
	netbsd-6-0-RELEASE:1.2
	netbsd-6-0-RC2:1.2
	tls-maxphys:1.2.0.8
	tls-maxphys-base:1.2
	matt-nb6-plus:1.2.0.6
	matt-nb6-plus-base:1.2
	netbsd-6-0-RC1:1.2
	yamt-pagecache-base5:1.2
	yamt-pagecache-base4:1.2
	netbsd-6:1.2.0.4
	netbsd-6-base:1.2
	yamt-pagecache-base3:1.2
	yamt-pagecache-base2:1.2
	yamt-pagecache:1.2.0.2
	yamt-pagecache-base:1.2
	cherry-xenmp:1.1.0.2
	cherry-xenmp-base:1.1;
locks; strict;
comment	@# @;


1.3
date	2014.08.21.13.44.51;	author apb;	state dead;
branches;
next	1.2;
commitid	PNRbDMs9XSDHweNx;

1.2
date	2011.06.03.21.10.42;	author sjg;	state Exp;
branches;
next	1.1;

1.1
date	2011.03.06.00.02.14;	author sjg;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2011.06.23.14.20.44;	author cherry;	state Exp;
branches;
next	;


desc
@@


1.3
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: sysv,v 1.2 2011/06/03 21:10:42 sjg Exp $

FOO ?=
FOOBAR = $(FOO:=bar)

_this := ${.PARSEDIR}/${.PARSEFILE}

B = /b
S = /
FUN = ${B}${S}fun
SUN = the Sun

# we expect nothing when FOO is empty
all: foo fun

foo:
	@@echo FOOBAR = $(FOOBAR)
.if empty(FOO)
	@@FOO="foo fu" ${.MAKE} -f ${_this} foo
.endif

fun:
	@@echo ${FUN:T}
	@@echo ${FUN:${B}${S}fun=fun}
	@@echo ${FUN:${B}${S}%=%}
	@@echo ${In:L:%=% ${SUN}}
@


1.2
log
@ApplyModifiers: if we parse a variable in the modifier list,
do not consider it a nested modifier set, unless it is followed by
endc, a ':' or end of string.
@
text
@d1 1
a1 1
# $Id: sysv,v 1.1 2011/03/06 00:02:14 sjg Exp $
@


1.1
log
@Add unit tests to check that exists(some/dir/) works

Also fix handling of sysV substitutions when lhs and variable are empty.

Also that modifiers do not cause errors during conditional tests
when undefined variables should otherwise be ok.
Ie. .if defined(nosuch) && ${nosuch:Mx} != ""
@
text
@d1 1
a1 1
# $Id: cond1,v 1.4 2008/10/29 15:37:08 sjg Exp $
d8 5
d14 3
a16 1
all:
d19 1
a19 1
	@@FOO="foo fu" ${.MAKE} -f ${_this}
d21 6
@


1.1.2.1
log
@Catchup with rmind-uvmplock merge.
@
text
@d1 1
a1 1
# $Id: sysv,v 1.2 2011/06/03 21:10:42 sjg Exp $
a7 5
B = /b
S = /
FUN = ${B}${S}fun
SUN = the Sun

d9 1
a9 3
all: foo fun

foo:
d12 1
a12 1
	@@FOO="foo fu" ${.MAKE} -f ${_this} foo
a13 6

fun:
	@@echo ${FUN:T}
	@@echo ${FUN:${B}${S}fun=fun}
	@@echo ${FUN:${B}${S}%=%}
	@@echo ${In:L:%=% ${SUN}}
@


