Pull up following revision(s) (requested by christos in ticket #870):

sys/lib/libgnuefi/Makefile.inc: revision 1.5
	external/mit/xorg/xorg-pkg-ver.mk: revision 1.9
	sys/arch/i386/stand/lib/Makefile.inc: revision 1.17
	sys/compat/common/Makefile.inc: revision 1.25
	usr.bin/make/unit-tests/varquote.exp: revision 1.1, 1.2
	sys/lib/libsa/Makefile.inc: revision 1.24
	usr.bin/make/var.c: revision 1.220
	sys/arch/ia64/stand/efi/libefi/Makefile.inc: revision 1.5
	sys/arch/hppa/spmath/Makefile.inc: revision 1.10
	usr.bin/make/unit-tests/varquote.mk: revision 1.1, 1.2
	usr.bin/make/unit-tests/Makefile: revision 1.53
	sys/lib/libkern/Makefile.inc: revision 1.45
	sys/arch/acorn32/stand/lib/Makefile.inc: revision 1.4
	sys/arch/m68k/fpsp/Makefile.inc: revision 1.21
	usr.bin/make/make.1: revision 1.273
	sys/lib/libz/Makefile.inc: revision 1.17

- Introduce :q modifier for make variables and make it double escape $'s so
  that passing variables to recursive makes with :q works as expected.
- Adjust makefiles that use recursive make to use :q

Discussed on tech-toolchain@

XXX: pullup 8
This commit is contained in:
martin 2018-06-09 15:35:37 +00:00
parent 260328b5bd
commit b579a55f6a
16 changed files with 155 additions and 128 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: xorg-pkg-ver.mk,v 1.8 2015/08/09 10:09:07 aymeric Exp $
# $NetBSD: xorg-pkg-ver.mk,v 1.8.8.1 2018/06/09 15:35:37 martin Exp $
# when including this make sure PROG is set so that $X11SRCDIR.$PROG
# is a valid setting. set XORG_PKG_VER_PROG if PROG is wrong.
@ -19,7 +19,7 @@ XORG_PKG_PACKAGE_VERSION!= \
}' ${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure
.if !empty(XORG_PKG_PACKAGE_VERSION)
CPPFLAGS+= -DPACKAGE_VERSION=\"${XORG_PKG_PACKAGE_VERSION:Q}\"
CPPFLAGS+= -DVERSION=\"${XORG_PKG_PACKAGE_VERSION:Q}\"
CPPFLAGS+= -DVERSION=\"${XORG_PKG_PACKAGE_VERSION:q}\"
.endif
XORG_PKG_PACKAGE_STRING!= \

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.3 2016/03/22 08:25:22 mrg Exp $
# $NetBSD: Makefile.inc,v 1.3.10.1 2018/06/09 15:35:38 martin Exp $
#
# Configuration variables (default values are below):
#
@ -22,12 +22,12 @@ RISCOSLIB= ${RISCOSDST}/libriscos.a
RISCOSMAKE= \
cd ${RISCOSDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
MAKEOBJDIR=${RISCOSDST} ${MAKE} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
RISCOSCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
RISCOSMISCCPPFLAGS=${RISCOSMISCCPPFLAGS:Q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LD=${LD:q} STRIP=${STRIP:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
RISCOSCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:q} \
RISCOSMISCCPPFLAGS=${RISCOSMISCCPPFLAGS:q} \
${RISCOSMISCMAKEFLAGS}
${RISCOSLIB}: .NOTMAIN .MAKE __always_make_riscoslib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.9 2016/03/22 08:25:22 mrg Exp $
# $NetBSD: Makefile.inc,v 1.9.10.1 2018/06/09 15:35:38 martin Exp $
# $OpenBSD: Makefile.inc,v 1.4 2001/03/29 03:58:17 mickey Exp $
#
@ -15,13 +15,13 @@ SPMATH_PROF= ${SPMATHDST}/spmath.po
SPMATHMAKE= \
cd ${SPMATHDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
MAKEOBJDIR=${SPMATHDST} ${MAKE} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
SPMATHCPPFLAGS=${CPPFLAGS:S@^-I.@-I. -I../../.@g:Q} \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
CPP=${CPP:Q} STRIP=${STRIP:Q} AR=${AR:Q} \
NM=${NM:Q} LORDER=${LORDER:Q} \
XMACHINE=${MACHINE:Q} XMACHINE_ARCH=${MACHINE_ARCH:Q}
CC=${CC:q} CFLAGS=${CFLAGS:q} \
SPMATHCPPFLAGS=${CPPFLAGS:S@^-I.@-I. -I../../.@g:q} \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LD=${LD:q} STRIP=${STRIP:q} \
CPP=${CPP:q} STRIP=${STRIP:q} AR=${AR:q} \
NM=${NM:q} LORDER=${LORDER:q} \
XMACHINE=${MACHINE:q} XMACHINE_ARCH=${MACHINE_ARCH:q}
${SPMATH}: .NOTMAIN .MAKE __always_make_spmath
@echo making sure the spmath library is up to date...

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.16 2016/03/22 08:25:22 mrg Exp $
# $NetBSD: Makefile.inc,v 1.16.10.1 2018/06/09 15:35:37 martin Exp $
#
# Configuration variables (default values are below):
#
@ -24,12 +24,12 @@ CWARNFLAGS.clang+= -Wno-tautological-compare
I386MAKE= \
cd ${I386DIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
MAKEOBJDIR=${I386DST} ${MAKE} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
I386CPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
I386MISCCPPFLAGS=${I386MISCCPPFLAGS:Q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LD=${LD:q} STRIP=${STRIP:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
I386CPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:q} \
I386MISCCPPFLAGS=${I386MISCCPPFLAGS:q} \
${I386MISCMAKEFLAGS}
${I386LIB}: .NOTMAIN __always_make_i386lib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.4 2016/03/22 08:25:22 mrg Exp $
# $NetBSD: Makefile.inc,v 1.4.10.1 2018/06/09 15:35:38 martin Exp $
#
# Configuration variables (default values are below):
#
@ -22,12 +22,12 @@ EFILIB= ${EFIDST}/libefi.a
EFIMAKE= \
cd ${EFIDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
MAKEOBJDIR=${EFIDST} ${MAKE} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
EFICPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \
EFIMISCCPPFLAGS=${EFIMISCCPPFLAGS:Q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LD=${LD:q} STRIP=${STRIP:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
EFICPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:q} \
EFIMISCCPPFLAGS=${EFIMISCCPPFLAGS:q} \
${EFIMISCMAKEFLAGS}
${EFILIB}: .NOTMAIN __always_make_efilib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.20 2016/03/22 08:25:22 mrg Exp $
# $NetBSD: Makefile.inc,v 1.20.10.1 2018/06/09 15:35:38 martin Exp $
#
# Configuration variables (default values are below):
#
@ -18,27 +18,27 @@
FPSPDST?= ${.OBJDIR}/lib/fpsp
FPSPDOTDIR?= ../../.
FPSPDIR= ${S:S@^.@${FPSPDOTDIR}@:Q}/arch/m68k/fpsp
FPSPDIR= ${S:S@^.@${FPSPDOTDIR}@:q}/arch/m68k/fpsp
FPSPOBJ= ${FPSPDST}/fpsp.o
HAS_FPSP!= grep '^\#define FPSP 1$$' opt_fpsp.h || echo
.if !empty(HAS_FPSP)
FPSP= ${FPSPOBJ}
.endif
# CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
# AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
# LD=${LD:Q} STRIP=${STRIP:Q} \
# CC=${CC:q} CFLAGS=${CFLAGS:q} \
# AS=${AS:q} AFLAGS=${AFLAGS:q} \
# LD=${LD:q} STRIP=${STRIP:q} \
FPSPMAKE= \
cd ${FPSPDST} && ${MAKE} -f ${FPSPDIR:Q}/Makefile \
FPSPDIR=${FPSPDIR:Q} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
cd ${FPSPDST} && ${MAKE} -f ${FPSPDIR:q}/Makefile \
FPSPDIR=${FPSPDIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} \
LD=${LD:q} STRIP=${STRIP:q} \
MACHINE=${MACHINE} \
MACHINE_ARCH=${MACHINE_ARCH:Q} \
FPSPCPPFLAGS=${CPPFLAGS:S@^-I.@-I${FPSPDOTDIR}@g:Q} \
FPSPMISCCPPFLAGS=${FPSPMISCCPPFLAGS:Q} \
FPSPDIR=${FPSPDIR:Q} \
MACHINE_ARCH=${MACHINE_ARCH:q} \
FPSPCPPFLAGS=${CPPFLAGS:S@^-I.@-I${FPSPDOTDIR}@g:q} \
FPSPMISCCPPFLAGS=${FPSPMISCCPPFLAGS:q} \
FPSPDIR=${FPSPDIR:q} \
${FPSPMISCMAKEFLAGS}
${FPSP}: .NOTMAIN __always_make_fpsp

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.22 2016/03/22 08:25:23 mrg Exp $
# $NetBSD: Makefile.inc,v 1.22.10.1 2018/06/09 15:35:37 martin Exp $
#
# Configuration variables (default values are below):
#
@ -33,19 +33,19 @@ LIBCOMPATLNBN= llib-lcompat.ln
COMPATLIBLN= ${COMPATDST}/${LIBCOMPATLNBN}
COMPATMAKE= \
cd ${COMPATDST} && ${MAKE} -f ${COMPATDIR:Q}/Makefile \
COMPATDIR=${COMPATDIR:Q} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
AR=${AR:Q} NM=${NM:Q} \
LORDER=${LORDER:Q} \
TSORT=${TSORT:Q} \
RANLIB=${RANLIB:Q} \
LD=${LD:Q} LDFLAGS=${LDFLAGS:Q} \
STRIP=${STRIP:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I${COMPATDOTDIR}@g:Q} \
LINTFLAGS=${KERNLINTFLAGS:Q} \
cd ${COMPATDST} && ${MAKE} -f ${COMPATDIR:q}/Makefile \
COMPATDIR=${COMPATDIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
AR=${AR:q} NM=${NM:q} \
LORDER=${LORDER:q} \
TSORT=${TSORT:q} \
RANLIB=${RANLIB:q} \
LD=${LD:q} LDFLAGS=${LDFLAGS:q} \
STRIP=${STRIP:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I${COMPATDOTDIR}@g:q} \
LINTFLAGS=${KERNLINTFLAGS:q} \
${COMPATMISCMAKEFLAGS}
${COMPATLIB}: .NOTMAIN .MAKE __always_make_compatlib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.4 2017/01/24 11:09:14 nonaka Exp $
# $NetBSD: Makefile.inc,v 1.4.6.1 2018/06/09 15:35:37 martin Exp $
#
# Configuration variables (default values are below):
#
@ -23,7 +23,7 @@ GNUEFIDOTDIR?= ../../.
CWARNFLAGS.clang+= -Wno-format-extra-args
GNUEFIDIR= ${S:S@^.@${GNUEFIDOTDIR}@:Q}/lib/libgnuefi
GNUEFIDIR= ${S:S@^.@${GNUEFIDOTDIR}@:q}/lib/libgnuefi
.if (${GNUEFI_AS} == "obj")
GNUEFILIB= ${GNUEFIDST}/libgnuefi.o
GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi.po
@ -35,19 +35,19 @@ ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib
GNUEFIMISCCPPFLAGS+=-I${ZLIBSRCDIR}
GNUEFIMAKE= \
cd ${GNUEFIDST} && ${MAKE} -f ${GNUEFIDIR:Q}/Makefile \
GNUEFIDIR=${GNUEFIDIR:Q} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LORDER=${LORDER:Q} \
TSORT=${TSORT:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
AR=${AR:Q} NM=${NM:Q} \
RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
GNUEFICPPFLAGS=${CPPFLAGS:S@^-I.@-I${GNUEFIDOTDIR}@g:Q} \
GNUEFIMISCCPPFLAGS=${GNUEFIMISCCPPFLAGS:Q} \
LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH:Q} \
cd ${GNUEFIDST} && ${MAKE} -f ${GNUEFIDIR:q}/Makefile \
GNUEFIDIR=${GNUEFIDIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LORDER=${LORDER:q} \
TSORT=${TSORT:q} \
LD=${LD:q} STRIP=${STRIP:q} \
AR=${AR:q} NM=${NM:q} \
RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
GNUEFICPPFLAGS=${CPPFLAGS:S@^-I.@-I${GNUEFIDOTDIR}@g:q} \
GNUEFIMISCCPPFLAGS=${GNUEFIMISCCPPFLAGS:q} \
LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH:q} \
${GNUEFIMISCMAKEFLAGS}
${GNUEFILIB}: .NOTMAIN .MAKE __always_make_gnuefilib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.44 2015/10/29 00:18:55 mrg Exp $
# $NetBSD: Makefile.inc,v 1.44.10.1 2018/06/09 15:35:38 martin Exp $
#
# Configuration variables (default values are below):
#
@ -21,7 +21,7 @@ KERNDST?= ${.OBJDIR}/lib/kern
KERN_AS?= library
KERNDOTDIR?= ../../.
KERNDIR= ${S:S@^.@${KERNDOTDIR}@:Q}/lib/libkern
KERNDIR= ${S:S@^.@${KERNDOTDIR}@:q}/lib/libkern
.if (${KERN_AS} == "obj")
KERNLIB= ${KERNDST}/libkern.o
KERNLIB_PROF= ${KERNDST}/libkern.po
@ -34,21 +34,21 @@ LIBKERNLNBN= llib-lkern.ln
KERNLIBLN= ${KERNDST}/${LIBKERNLNBN}
KERNMAKE= \
cd ${KERNDST} && ${MAKE} -f ${KERNDIR:Q}/Makefile \
KERNDIR=${KERNDIR:Q} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LORDER=${LORDER:Q} \
TSORT=${TSORT:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
AR=${AR:Q} NM=${NM:Q} \
RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I${KERNDOTDIR}@g:Q} \
KERNMISCCPPFLAGS=${KERNMISCCPPFLAGS:Q} \
LINTFLAGS=${KERNLINTFLAGS:Q} \
LIBKERN_ARCH=${LIBKERN_ARCH:Q} \
COMMON_MACHINE_ARCH=${COMMON_MACHINE_ARCH:Q} \
cd ${KERNDST} && ${MAKE} -f ${KERNDIR:q}/Makefile \
KERNDIR=${KERNDIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LORDER=${LORDER:q} \
TSORT=${TSORT:q} \
LD=${LD:q} STRIP=${STRIP:q} \
AR=${AR:q} NM=${NM:q} \
RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I${KERNDOTDIR}@g:q} \
KERNMISCCPPFLAGS=${KERNMISCCPPFLAGS:q} \
LINTFLAGS=${KERNLINTFLAGS:q} \
LIBKERN_ARCH=${LIBKERN_ARCH:q} \
COMMON_MACHINE_ARCH=${COMMON_MACHINE_ARCH:q} \
${KERNMISCMAKEFLAGS}
${KERNLIB}: .NOTMAIN .MAKE __always_make_kernlib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.23 2016/03/22 08:25:23 mrg Exp $
# $NetBSD: Makefile.inc,v 1.23.10.1 2018/06/09 15:35:38 martin Exp $
#
# Configuration variables (default values are below):
#
@ -23,7 +23,7 @@ SADOTDIR?= ../../.
CWARNFLAGS.clang+= -Wno-format-extra-args
SADIR= ${S:S@^.@${SADOTDIR}@:Q}/lib/libsa
SADIR= ${S:S@^.@${SADOTDIR}@:q}/lib/libsa
.if (${SA_AS} == "obj")
SALIB= ${SADST}/libsa.o
SALIB_PROF= ${SADST}/libsa.po
@ -35,18 +35,18 @@ ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib
SAMISCCPPFLAGS+=-I${ZLIBSRCDIR}
SAMAKE= \
cd ${SADST} && ${MAKE} -f ${SADIR:Q}/Makefile \
SADIR=${SADIR:Q} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LORDER=${LORDER:Q} \
TSORT=${TSORT:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
AR=${AR:Q} NM=${NM:Q} \
RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
SACPPFLAGS=${CPPFLAGS:S@^-I.@-I${SADOTDIR}@g:Q} \
SAMISCCPPFLAGS=${SAMISCCPPFLAGS:Q} \
cd ${SADST} && ${MAKE} -f ${SADIR:q}/Makefile \
SADIR=${SADIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LORDER=${LORDER:q} \
TSORT=${TSORT:q} \
LD=${LD:q} STRIP=${STRIP:q} \
AR=${AR:q} NM=${NM:q} \
RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
SACPPFLAGS=${CPPFLAGS:S@^-I.@-I${SADOTDIR}@g:q} \
SAMISCCPPFLAGS=${SAMISCCPPFLAGS:q} \
${SAMISCMAKEFLAGS}
${SALIB}: .NOTMAIN .MAKE __always_make_salib

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.16 2016/03/22 08:25:23 mrg Exp $
# $NetBSD: Makefile.inc,v 1.16.10.1 2018/06/09 15:35:38 martin Exp $
#
# Configuration variables (default values are below):
#
@ -21,7 +21,7 @@ ZDST?= ${.OBJDIR}/lib/z
Z_AS?= library
ZDOTDIR?= ../../.
ZDIR= ${S:S@^.@${ZDOTDIR}@:Q}/lib/libz
ZDIR= ${S:S@^.@${ZDOTDIR}@:q}/lib/libz
.if (${Z_AS} == "obj")
ZLIB= ${ZDST}/libz.o
ZLIB_PROF= ${ZDST}/libz.po
@ -31,18 +31,18 @@ ZLIB_PROF= ${ZDST}/libz_p.a
.endif
ZMAKE= \
cd ${ZDST} && ${MAKE} -f ${ZDIR:Q}/Makefile \
ZDIR=${ZDIR:Q} \
CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \
AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
LORDER=${LORDER:Q} \
TSORT=${TSORT:Q} \
LD=${LD:Q} STRIP=${STRIP:Q} \
AR=${AR:Q} NM=${NM:Q} \
RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
ZCPPFLAGS=${CPPFLAGS:S@^-I.@-I${ZDOTDIR}@g:Q} \
ZMISCCPPFLAGS=${ZMISCCPPFLAGS:Q} \
cd ${ZDST} && ${MAKE} -f ${ZDIR:q}/Makefile \
ZDIR=${ZDIR:q} \
CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
AS=${AS:q} AFLAGS=${AFLAGS:q} \
LORDER=${LORDER:q} \
TSORT=${TSORT:q} \
LD=${LD:q} STRIP=${STRIP:q} \
AR=${AR:q} NM=${NM:q} \
RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
ZCPPFLAGS=${CPPFLAGS:S@^-I.@-I${ZDOTDIR}@g:q} \
ZMISCCPPFLAGS=${ZMISCCPPFLAGS:q} \
${ZMISCMAKEFLAGS}
${ZLIB}: .NOTMAIN .MAKE __always_make_zlib

View File

@ -1,4 +1,4 @@
.\" $NetBSD: make.1,v 1.266.4.1 2017/07/18 15:26:14 snj Exp $
.\" $NetBSD: make.1,v 1.266.4.2 2018/06/09 15:35:38 martin Exp $
.\"
.\" Copyright (c) 1990, 1993
.\" The Regents of the University of California. All rights reserved.
@ -29,7 +29,7 @@
.\"
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
.\"
.Dd June 19, 2017
.Dd June 9, 2018
.Dt MAKE 1
.Os
.Sh NAME
@ -1205,8 +1205,15 @@ due uno quattro tre
.Ed
.It Cm \&:Q
Quotes every shell meta-character in the variable, so that it can be passed
safely to the shell.
.It Cm \&:q
Quotes every shell meta-character in the variable, and also doubles
.Sq $
characters so that it can be passed
safely through recursive invocations of
.Nm .
This is equivalent to:
.Sq \&:S/\e\&$/&&/g:Q .
.It Cm \&:R
Replaces each word in the variable with everything but its suffix.
.It Cm \&:range[=count]

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.52 2015/05/05 21:51:09 sjg Exp $
# $NetBSD: Makefile,v 1.52.8.1 2018/06/09 15:35:38 martin Exp $
#
# Unit tests for make(1)
# The main targets are:
@ -50,6 +50,7 @@ TESTNAMES= \
unexport-env \
varcmd \
varmisc \
varquote \
varshell
# these tests were broken by referting POSIX chanegs

View File

@ -0,0 +1,3 @@
-fdebug-prefix-map=$NETBSDSRCDIR=/usr/src -fdebug-regex-map=/usr/src/(.*)/obj$=/usr/obj/\1
-fdebug-prefix-map=$NETBSDSRCDIR=/usr/src -fdebug-regex-map=/usr/src/(.*)/obj$=/usr/obj/\1
exit status 0

View File

@ -0,0 +1,14 @@
# $NetBSD: varquote.mk,v 1.2.2.2 2018/06/09 15:35:38 martin Exp $
#
# Test VAR:q modifier
.if !defined(REPROFLAGS)
REPROFLAGS+= -fdebug-prefix-map=\$$NETBSDSRCDIR=/usr/src
REPROFLAGS+= -fdebug-regex-map='/usr/src/(.*)/obj$$=/usr/obj/\1'
all:
@${MAKE} -f ${MAKEFILE} REPROFLAGS=${REPROFLAGS:S/\$/&&/g:Q}
@${MAKE} -f ${MAKEFILE} REPROFLAGS=${REPROFLAGS:q}
.else
all:
@echo ${REPROFLAGS}
.endif

View File

@ -1,4 +1,4 @@
/* $NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $ */
/* $NetBSD: var.c,v 1.215.4.2 2018/06/09 15:35:38 martin Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
static char rcsid[] = "$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $";
static char rcsid[] = "$NetBSD: var.c,v 1.215.4.2 2018/06/09 15:35:38 martin Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94";
#else
__RCSID("$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $");
__RCSID("$NetBSD: var.c,v 1.215.4.2 2018/06/09 15:35:38 martin Exp $");
#endif
#endif /* not lint */
#endif
@ -325,7 +325,7 @@ static Boolean VarLoopExpand(GNode *, Var_Parse_State *,
static char *VarGetPattern(GNode *, Var_Parse_State *,
int, const char **, int, int *, int *,
VarPattern *);
static char *VarQuote(char *);
static char *VarQuote(char *, Boolean);
static char *VarHash(char *);
static char *VarModify(GNode *, Var_Parse_State *,
const char *,
@ -2315,6 +2315,7 @@ VarGetPattern(GNode *ctxt, Var_Parse_State *vpstate MAKE_ATTR_UNUSED,
*-----------------------------------------------------------------------
* VarQuote --
* Quote shell meta-characters and space characters in the string
* if quoteDollar is set, also quote and double any '$' characters.
*
* Results:
* The quoted string
@ -2325,7 +2326,7 @@ VarGetPattern(GNode *ctxt, Var_Parse_State *vpstate MAKE_ATTR_UNUSED,
*-----------------------------------------------------------------------
*/
static char *
VarQuote(char *str)
VarQuote(char *str, Boolean quoteDollar)
{
Buffer buf;
@ -2346,7 +2347,7 @@ VarQuote(char *str)
if (isspace((unsigned char)*str) || ismeta((unsigned char)*str))
Buf_AddByte(&buf, '\\');
Buf_AddByte(&buf, *str);
if (*str == '$')
if (quoteDollar && *str == '$')
Buf_AddBytes(&buf, 2, "\\$");
}
@ -3487,9 +3488,10 @@ ApplyModifiers(char *nstr, const char *tstr,
break;
}
#endif
case 'q':
case 'Q':
if (tstr[1] == endc || tstr[1] == ':') {
newStr = VarQuote(nstr);
newStr = VarQuote(nstr, modifier == 'q');
cp = tstr + 1;
termc = *cp;
break;