summaryrefslogtreecommitdiffstats
path: root/usr.bin/make
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2012-05-30 22:23:08 +0000
committerobrien <obrien@FreeBSD.org>2012-05-30 22:23:08 +0000
commit71a59e133691abcd6f586cd98889df75d6c7ef32 (patch)
tree4b421920429bb41cfa14b0713f37dec96f9c092b /usr.bin/make
parent928a481c653a909ac1f7811c68a12a3f7360a679 (diff)
downloadFreeBSD-src-71a59e133691abcd6f586cd98889df75d6c7ef32.zip
FreeBSD-src-71a59e133691abcd6f586cd98889df75d6c7ef32.tar.gz
Deprecate the FreeBSD make's ":U" (to-upper case) and ":L" (to-lower case)
modifiers for ":tu" and ":tl" from OSF's ODE, which made its way into NetBSD's make, which is the source for the Portable Berkeley Make. Submitted by: Simon Gerraty <sjg@juniper.net>
Diffstat (limited to 'usr.bin/make')
-rw-r--r--usr.bin/make/Makefile2
-rw-r--r--usr.bin/make/make.119
-rw-r--r--usr.bin/make/var.c15
3 files changed, 35 insertions, 1 deletions
diff --git a/usr.bin/make/Makefile b/usr.bin/make/Makefile
index 670e524..9afaa57 100644
--- a/usr.bin/make/Makefile
+++ b/usr.bin/make/Makefile
@@ -15,7 +15,7 @@ NO_SHARED?= YES
.endif
# Version has the RYYYYMMDDX format, where R is from RELENG_<R>
-CFLAGS+=-DMAKE_VERSION=\"5201111300\"
+CFLAGS+=-DMAKE_VERSION=\"10201120530\"
# There is no obvious performance improvement currently.
# CFLAGS+=-DUSE_KQUEUE
diff --git a/usr.bin/make/make.1 b/usr.bin/make/make.1
index 80216b4..fc91f3c 100644
--- a/usr.bin/make/make.1
+++ b/usr.bin/make/make.1
@@ -902,6 +902,7 @@ Replaces each word in the variable with its suffix.
Replaces each word in the variable with everything but the last component.
.It Cm :L
Converts variable to lower-case letters.
+(deprecated)
.It Cm :M Ns Ar pattern
Select only those words that match the rest of the modifier.
The standard shell wildcard characters
@@ -993,8 +994,13 @@ to be replaced in
.Ar new_string .
.It Cm :T
Replaces each word in the variable with its last component.
+.It Cm :tl
+Converts variable to lower-case letters.
+.It Cm :tu
+Converts variable to upper-case letters.
.It Cm :U
Converts variable to upper-case letters.
+(deprecated)
.It Cm :u
Remove adjacent duplicate words (like
.Xr uniq 1 ) .
@@ -1742,6 +1748,19 @@ is set to the same value as
.Va .MAKE ;
support for this may be removed in the future.
.Pp
+The use of the
+.Cm :L
+and
+.Cm :U
+modifiers are deprecated
+in
+.Fx 10.0
+and the more portable (among Pmake decedents)
+.Cm :tl
+and
+.Cm :tu
+should be used instead.
+.Pp
Most of the more esoteric features of
.Nm
should probably be avoided for greater compatibility.
diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c
index a7babaf..341ee79 100644
--- a/usr.bin/make/var.c
+++ b/usr.bin/make/var.c
@@ -1746,6 +1746,19 @@ ParseModifier(VarParser *vp, char startc, Var *v, Boolean *freeResult)
case 'C':
newStr = modifier_C(vp, value, v);
break;
+ case 't':
+ /* :tl :tu for OSF ODE & NetBSD make compatibility */
+ switch (vp->ptr[1]) {
+ case 'l':
+ vp->ptr++;
+ goto mod_lower;
+ break;
+ case 'u':
+ vp->ptr++;
+ goto mod_upper;
+ break;
+ }
+ /* FALLTHROUGH */
default:
if (vp->ptr[1] != endc && vp->ptr[1] != ':') {
#ifdef SUNSHCMD
@@ -1774,6 +1787,7 @@ ParseModifier(VarParser *vp, char startc, Var *v, Boolean *freeResult)
switch (vp->ptr[0]) {
case 'L':
+ mod_lower:
{
const char *cp;
Buffer *buf;
@@ -1799,6 +1813,7 @@ ParseModifier(VarParser *vp, char startc, Var *v, Boolean *freeResult)
vp->ptr++;
break;
case 'U':
+ mod_upper:
{
const char *cp;
Buffer *buf;
OpenPOWER on IntegriCloud