head	1.4;
access;
symbols
	pkgsrc-2015Q1:1.3.0.12
	pkgsrc-2015Q1-base:1.3
	pkgsrc-2014Q4:1.3.0.10
	pkgsrc-2014Q4-base:1.3
	pkgsrc-2014Q3:1.3.0.8
	pkgsrc-2014Q3-base:1.3
	pkgsrc-2014Q2:1.3.0.6
	pkgsrc-2014Q2-base:1.3
	pkgsrc-2014Q1:1.3.0.4
	pkgsrc-2014Q1-base:1.3
	pkgsrc-2013Q4:1.3.0.2
	pkgsrc-2013Q4-base:1.3
	pkgsrc-2013Q3:1.2.0.20
	pkgsrc-2013Q3-base:1.2
	pkgsrc-2013Q2:1.2.0.18
	pkgsrc-2013Q2-base:1.2
	pkgsrc-2013Q1:1.2.0.16
	pkgsrc-2013Q1-base:1.2
	pkgsrc-2012Q4:1.2.0.14
	pkgsrc-2012Q4-base:1.2
	pkgsrc-2012Q3:1.2.0.12
	pkgsrc-2012Q3-base:1.2
	pkgsrc-2012Q2:1.2.0.10
	pkgsrc-2012Q2-base:1.2
	pkgsrc-2012Q1:1.2.0.8
	pkgsrc-2012Q1-base:1.2
	pkgsrc-2011Q4:1.2.0.6
	pkgsrc-2011Q4-base:1.2
	pkgsrc-2011Q3:1.2.0.4
	pkgsrc-2011Q3-base:1.2
	pkgsrc-2011Q2:1.2.0.2
	pkgsrc-2011Q2-base:1.2
	bmake-20110606:1.1.1.2
	pkgsrc-2011Q1:1.1.0.48
	pkgsrc-2011Q1-base:1.1
	pkgsrc-2010Q4:1.1.0.46
	pkgsrc-2010Q4-base:1.1
	pkgsrc-2010Q3:1.1.0.44
	pkgsrc-2010Q3-base:1.1
	bmake-20100808:1.1.1.1
	pkgsrc-2010Q2:1.1.0.42
	pkgsrc-2010Q2-base:1.1
	bmake-20100510:1.1.1.1
	bmake-20100423:1.1.1.1
	bmake-20100414:1.1.1.1
	pkgsrc-2010Q1:1.1.0.40
	pkgsrc-2010Q1-base:1.1
	pkgsrc-2009Q4:1.1.0.38
	pkgsrc-2009Q4-base:1.1
	pkgsrc-2009Q3:1.1.0.36
	pkgsrc-2009Q3-base:1.1
	bmake-20090909:1.1.1.1
	pkgsrc-2009Q2:1.1.0.34
	pkgsrc-2009Q2-base:1.1
	pkgsrc-2009Q1:1.1.0.32
	pkgsrc-2009Q1-base:1.1
	pkgsrc-2008Q4:1.1.0.30
	pkgsrc-2008Q4-base:1.1
	bmake-20081111:1.1.1.1
	bmake-20081101:1.1.1.1
	pkgsrc-2008Q3:1.1.0.28
	pkgsrc-2008Q3-base:1.1
	cube-native-xorg:1.1.0.26
	cube-native-xorg-base:1.1
	pkgsrc-2008Q2:1.1.0.24
	pkgsrc-2008Q2-base:1.1
	cwrapper:1.1.0.22
	pkgsrc-2008Q1:1.1.0.20
	pkgsrc-2008Q1-base:1.1
	bmake-20080215:1.1.1.1
	pkgsrc-2007Q4:1.1.0.18
	pkgsrc-2007Q4-base:1.1
	pkgsrc-2007Q3:1.1.0.16
	pkgsrc-2007Q3-base:1.1
	pkgsrc-2007Q2:1.1.0.14
	pkgsrc-2007Q2-base:1.1
	pkgsrc-2007Q1:1.1.0.12
	pkgsrc-2007Q1-base:1.1
	pkgsrc-2006Q4:1.1.0.10
	pkgsrc-2006Q4-base:1.1
	pkgsrc-2006Q3:1.1.0.8
	pkgsrc-2006Q3-base:1.1
	pkgsrc-2006Q2:1.1.0.6
	pkgsrc-2006Q2-base:1.1
	pkgsrc-2006Q1:1.1.0.4
	pkgsrc-2006Q1-base:1.1
	pkgsrc-2005Q4:1.1.0.2
	pkgsrc-2005Q4-base:1.1
	bmake-20051105:1.1.1.1
	BMAKE:1.1.1;
locks; strict;
comment	@# @;


1.4
date	2015.05.19.22.01.19;	author joerg;	state dead;
branches;
next	1.3;
commitid	HKZ70xXIeo3Ky6my;

1.3
date	2013.10.31.12.18.19;	author obache;	state Exp;
branches;
next	1.2;
commitid	C1moCZ1s3p4ktrbx;

1.2
date	2011.06.18.22.39.46;	author bsiegert;	state Exp;
branches;
next	1.1;

1.1
date	2005.10.31.21.52.26;	author reed;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2005.12.02.00.03.00;	author sjg;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2011.06.18.22.18.21;	author bsiegert;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Merge changes from bmake-20150505, the hard way because the last update
was incomplete and not using cvs import.
@
text
@
LIST= one two three
LIST+= four five six

FU_mod-ts = a / b / cool

AAA= a a a
B.aaa= Baaa

all:   mod-ts

# Use print or printf iff they are builtin.
# XXX note that this causes problems, when make decides 
# there is no need to use a shell, so avoid where possible.
.if ${(type print) 2> /dev/null || echo:L:sh:Mbuiltin} != ""
PRINT= print -r --
.elif ${(type printf) 2> /dev/null || echo:L:sh:Mbuiltin} != ""
PRINT= printf '%s\n'
.else
PRINT= echo
.endif

mod-ts:
	@@echo 'LIST="${LIST}"'
	@@echo 'LIST:ts,="${LIST:ts,}"'
	@@echo 'LIST:ts/:tu="${LIST:ts/:tu}"'
	@@echo 'LIST:ts::tu="${LIST:ts::tu}"'
	@@echo 'LIST:ts:tu="${LIST:ts:tu}"'
	@@echo 'LIST:tu:ts/="${LIST:tu:ts/}"'
	@@echo 'LIST:ts:="${LIST:ts:}"'
	@@echo 'LIST:ts="${LIST:ts}"'
	@@echo 'LIST:ts:S/two/2/="${LIST:ts:S/two/2/}"'
	@@echo 'LIST:S/two/2/:ts="${LIST:S/two/2/:ts}"'
	@@echo 'LIST:ts/:S/two/2/="${LIST:ts/:S/two/2/}"'
	@@echo "Pretend the '/' in '/n' etc. below are back-slashes."
	@@${PRINT} 'LIST:ts/n="${LIST:ts\n}"'
	@@${PRINT} 'LIST:ts/t="${LIST:ts\t}"'
	@@${PRINT} 'LIST:ts/012:tu="${LIST:ts\012:tu}"'
	@@${PRINT} 'LIST:tx="${LIST:tx}"'
	@@${PRINT} 'LIST:ts/x:tu="${LIST:ts\x:tu}"'
	@@${PRINT} 'FU_$@@="${FU_${@@:ts}:ts}"'
	@@${PRINT} 'FU_$@@:ts:T="${FU_${@@:ts}:ts:T}" == cool?'
	@@${PRINT} 'B.$${AAA:ts}="${B.${AAA:ts}}" == Baaa?'
@


1.3
log
@Take care for the case missing `type' command, PR pkg/48089.

No objection from MAINTAINER over 3 month.
@
text
@@


1.2
log
@Merge bmake-20110606, regenerate catman page
@
text
@d15 1
a15 1
.if ${type print 2> /dev/null || echo:L:sh:Mbuiltin} != ""
d17 1
a17 1
.elif ${type printf 2> /dev/null || echo:L:sh:Mbuiltin} != ""
@


1.1
log
@Add source files missing in last commit.
@
text
@d12 11
d36 8
a43 8
	@@echo 'LIST:ts/n="${LIST:ts\n}"'
	@@echo 'LIST:ts/t="${LIST:ts\t}"'
	@@echo 'LIST:ts/012:tu="${LIST:ts\012:tu}"'
	@@echo 'LIST:tx="${LIST:tx}"'
	@@echo 'LIST:ts/x:tu="${LIST:ts\x:tu}"'
	@@echo 'FU_$@@="${FU_${@@:ts}:ts}"'
	@@echo 'FU_$@@:ts:T="${FU_${@@:ts}:ts:T}" == cool?'
	@@echo 'B.$${AAA:ts}="${B.${AAA:ts}}" == Baaa?'
@


1.1.1.1
log
@Import bmake-20051105
@
text
@@


1.1.1.2
log
@Import bmake-20110606. Many changes, among them:

  - unit-tests/modts now works on MirBSD
  - meta mode
  - ApplyModifiers: when we parse a variable which is not the entire modifier
    string, or not followed by ':', do not consider it as containing modifiers.
  - when long modifiers fail to match, check sysV style.
  - :hash - cheap 32bit hash of value
  - :localtime, :gmtime - use value as format string for strftime.
  - fix for use after free() in CondDoExists().
  - boot-strap (TOOL_DIFF): aparently at least on linux distro
    formats the output of 'type' differently - so eat any "()"
  - correct sysV substitution handling of empty lhs and variable
  - correct exists() check for dir with trailing /
  - correct handling of modifiers for non-existant variables during evaluation
    of conditionals.
  - fix for incorrect .PARSEDIR when .OBJDIR is re-computed after makefiles
    have been read.
  - fix example of :? modifier in man page.
  - sigcompat.c: convert to ansi so we can use higher warning levels.
  - parse.c: SunOS 5.8 at least does not have MAP_FILE
  - use mmap(2) if available, for reading makefiles
  - to ensure unit-tests results match, need to control LC_ALL as well as LANG.
  - if stale dependency is an IMPSRC, search via .PATH
  - machine.sh: like os.sh, allow for uname -p producing useless drivel
  - boot-strap: document configure knobs for meta and filemon.
@
text
@a11 11
# Use print or printf iff they are builtin.
# XXX note that this causes problems, when make decides 
# there is no need to use a shell, so avoid where possible.
.if ${type print 2> /dev/null || echo:L:sh:Mbuiltin} != ""
PRINT= print -r --
.elif ${type printf 2> /dev/null || echo:L:sh:Mbuiltin} != ""
PRINT= printf '%s\n'
.else
PRINT= echo
.endif

d25 8
a32 8
	@@${PRINT} 'LIST:ts/n="${LIST:ts\n}"'
	@@${PRINT} 'LIST:ts/t="${LIST:ts\t}"'
	@@${PRINT} 'LIST:ts/012:tu="${LIST:ts\012:tu}"'
	@@${PRINT} 'LIST:tx="${LIST:tx}"'
	@@${PRINT} 'LIST:ts/x:tu="${LIST:ts\x:tu}"'
	@@${PRINT} 'FU_$@@="${FU_${@@:ts}:ts}"'
	@@${PRINT} 'FU_$@@:ts:T="${FU_${@@:ts}:ts:T}" == cool?'
	@@${PRINT} 'B.$${AAA:ts}="${B.${AAA:ts}}" == Baaa?'
@


