Sat Jun 9 15:35:38 2018 UTC ()
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


(martin)
diff -r1.8 -r1.8.8.1 src/external/mit/xorg/xorg-pkg-ver.mk
diff -r1.3 -r1.3.10.1 src/sys/arch/acorn32/stand/lib/Makefile.inc
diff -r1.9 -r1.9.10.1 src/sys/arch/hppa/spmath/Makefile.inc
diff -r1.16 -r1.16.10.1 src/sys/arch/i386/stand/lib/Makefile.inc
diff -r1.4 -r1.4.10.1 src/sys/arch/ia64/stand/efi/libefi/Makefile.inc
diff -r1.20 -r1.20.10.1 src/sys/arch/m68k/fpsp/Makefile.inc
diff -r1.22 -r1.22.10.1 src/sys/compat/common/Makefile.inc
diff -r1.4 -r1.4.6.1 src/sys/lib/libgnuefi/Makefile.inc
diff -r1.44 -r1.44.10.1 src/sys/lib/libkern/Makefile.inc
diff -r1.23 -r1.23.10.1 src/sys/lib/libsa/Makefile.inc
diff -r1.16 -r1.16.10.1 src/sys/lib/libz/Makefile.inc
diff -r1.266.4.1 -r1.266.4.2 src/usr.bin/make/make.1
diff -r1.215.4.1 -r1.215.4.2 src/usr.bin/make/var.c
diff -r1.52 -r1.52.8.1 src/usr.bin/make/unit-tests/Makefile
diff -r0 -r1.2.2.2 src/usr.bin/make/unit-tests/varquote.exp
diff -r0 -r1.2.2.2 src/usr.bin/make/unit-tests/varquote.mk

cvs diff -r1.8 -r1.8.8.1 src/external/mit/xorg/xorg-pkg-ver.mk (expand / switch to unified diff)

--- src/external/mit/xorg/xorg-pkg-ver.mk 2015/08/09 10:09:07 1.8
+++ src/external/mit/xorg/xorg-pkg-ver.mk 2018/06/09 15:35:37 1.8.8.1
@@ -1,35 +1,35 @@ @@ -1,35 +1,35 @@
1# $NetBSD: xorg-pkg-ver.mk,v 1.8 2015/08/09 10:09:07 aymeric Exp $ 1# $NetBSD: xorg-pkg-ver.mk,v 1.8.8.1 2018/06/09 15:35:37 martin Exp $
2 2
3# when including this make sure PROG is set so that $X11SRCDIR.$PROG 3# when including this make sure PROG is set so that $X11SRCDIR.$PROG
4# is a valid setting. set XORG_PKG_VER_PROG if PROG is wrong. 4# is a valid setting. set XORG_PKG_VER_PROG if PROG is wrong.
5# set XORG_PKG_VER_CONFIG_PATH if "configure" at the top-level is wrong. 5# set XORG_PKG_VER_CONFIG_PATH if "configure" at the top-level is wrong.
6 6
7XORG_PKG_VER_PROG?= ${PROG} 7XORG_PKG_VER_PROG?= ${PROG}
8 8
9XORG_PKG_VER_CONFIG_PATH?= configure 9XORG_PKG_VER_CONFIG_PATH?= configure
10_XORG_PKG_CONFIGURE_PATH= ${X11SRCDIR.${XORG_PKG_VER_PROG}}/${XORG_PKG_VER_CONFIG_PATH} 10_XORG_PKG_CONFIGURE_PATH= ${X11SRCDIR.${XORG_PKG_VER_PROG}}/${XORG_PKG_VER_CONFIG_PATH}
11 11
12.if exists(${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure) 12.if exists(${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure)
13XORG_PKG_PACKAGE_VERSION!= \ 13XORG_PKG_PACKAGE_VERSION!= \
14 ${TOOL_AWK} -F= '/^PACKAGE_VERSION=/ { \ 14 ${TOOL_AWK} -F= '/^PACKAGE_VERSION=/ { \
15 match($$2, "([0-9]+\\.)+[0-9]+"); \ 15 match($$2, "([0-9]+\\.)+[0-9]+"); \
16 version = substr($$2, RSTART, RLENGTH); \ 16 version = substr($$2, RSTART, RLENGTH); \
17 print version; \ 17 print version; \
18 exit 0; \ 18 exit 0; \
19 }' ${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure 19 }' ${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure
20.if !empty(XORG_PKG_PACKAGE_VERSION) 20.if !empty(XORG_PKG_PACKAGE_VERSION)
21CPPFLAGS+= -DPACKAGE_VERSION=\"${XORG_PKG_PACKAGE_VERSION:Q}\" 21CPPFLAGS+= -DPACKAGE_VERSION=\"${XORG_PKG_PACKAGE_VERSION:Q}\"
22CPPFLAGS+= -DVERSION=\"${XORG_PKG_PACKAGE_VERSION:Q}\" 22CPPFLAGS+= -DVERSION=\"${XORG_PKG_PACKAGE_VERSION:q}\"
23.endif 23.endif
24 24
25XORG_PKG_PACKAGE_STRING!= \ 25XORG_PKG_PACKAGE_STRING!= \
26 ${TOOL_AWK} -F= '/^PACKAGE_STRING=/ { \ 26 ${TOOL_AWK} -F= '/^PACKAGE_STRING=/ { \
27 match($$2, "[-_a-zA-Z]+[ ]+([0-9]+\\.)+[0-9]+"); \ 27 match($$2, "[-_a-zA-Z]+[ ]+([0-9]+\\.)+[0-9]+"); \
28 string = substr($$2, RSTART, RLENGTH); \ 28 string = substr($$2, RSTART, RLENGTH); \
29 print string; \ 29 print string; \
30 exit 0; \ 30 exit 0; \
31 }' ${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure 31 }' ${X11SRCDIR.${XORG_PKG_VER_PROG}}/configure
32.if !empty(XORG_PKG_PACKAGE_STRING) 32.if !empty(XORG_PKG_PACKAGE_STRING)
33CPPFLAGS+= -DPACKAGE_STRING=\"${XORG_PKG_PACKAGE_STRING:Q}\" 33CPPFLAGS+= -DPACKAGE_STRING=\"${XORG_PKG_PACKAGE_STRING:Q}\"
34.endif 34.endif
35 35

cvs diff -r1.3 -r1.3.10.1 src/sys/arch/acorn32/stand/lib/Makefile.inc (expand / switch to unified diff)

--- src/sys/arch/acorn32/stand/lib/Makefile.inc 2016/03/22 08:25:22 1.3
+++ src/sys/arch/acorn32/stand/lib/Makefile.inc 2018/06/09 15:35:38 1.3.10.1
@@ -1,43 +1,43 @@ @@ -1,43 +1,43 @@
1# $NetBSD: Makefile.inc,v 1.3 2016/03/22 08:25:22 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.3.10.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# RISCOSDST may be set to the location of the directory where library 6# RISCOSDST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/riscos. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/riscos.
8# RISCOSMISCCPPFLAGS 8# RISCOSMISCCPPFLAGS
9# Miscellaneous cpp flags to be passed to the library's Makefile 9# Miscellaneous cpp flags to be passed to the library's Makefile
10# when building. 10# when building.
11# RISCOSMISCMAKEFLAGS 11# RISCOSMISCMAKEFLAGS
12# Miscellaneous flags to be passed to the library's Makefile when 12# Miscellaneous flags to be passed to the library's Makefile when
13# building. See library's Makefile for more details about 13# building. See library's Makefile for more details about
14# supported flags and their default values. 14# supported flags and their default values.
15 15
16# Default values: 16# Default values:
17RISCOSDST?= ${.OBJDIR}/lib/riscos 17RISCOSDST?= ${.OBJDIR}/lib/riscos
18 18
19RISCOSDIR= ${S}/arch/acorn32/stand/lib 19RISCOSDIR= ${S}/arch/acorn32/stand/lib
20RISCOSLIB= ${RISCOSDST}/libriscos.a 20RISCOSLIB= ${RISCOSDST}/libriscos.a
21 21
22RISCOSMAKE= \ 22RISCOSMAKE= \
23 cd ${RISCOSDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \ 23 cd ${RISCOSDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
24 MAKEOBJDIR=${RISCOSDST} ${MAKE} \ 24 MAKEOBJDIR=${RISCOSDST} ${MAKE} \
25 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 25 CC=${CC:q} CFLAGS=${CFLAGS:q} \
26 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 26 AS=${AS:q} AFLAGS=${AFLAGS:q} \
27 LD=${LD:Q} STRIP=${STRIP:Q} \ 27 LD=${LD:q} STRIP=${STRIP:q} \
28 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 28 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
29 RISCOSCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \ 29 RISCOSCPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:q} \
30 RISCOSMISCCPPFLAGS=${RISCOSMISCCPPFLAGS:Q} \ 30 RISCOSMISCCPPFLAGS=${RISCOSMISCCPPFLAGS:q} \
31 ${RISCOSMISCMAKEFLAGS} 31 ${RISCOSMISCMAKEFLAGS}
32 32
33${RISCOSLIB}: .NOTMAIN .MAKE __always_make_riscoslib 33${RISCOSLIB}: .NOTMAIN .MAKE __always_make_riscoslib
34 @echo making sure the riscos library is up to date... 34 @echo making sure the riscos library is up to date...
35 @${RISCOSMAKE} libriscos.a 35 @${RISCOSMAKE} libriscos.a
36 36
37clean: .NOTMAIN cleanriscoslib 37clean: .NOTMAIN cleanriscoslib
38cleanriscoslib: .NOTMAIN 38cleanriscoslib: .NOTMAIN
39 @echo cleaning the riscos library objects 39 @echo cleaning the riscos library objects
40 @if [ -d "${RISCOSDST}" ]; then ${RISCOSMAKE} clean; fi 40 @if [ -d "${RISCOSDST}" ]; then ${RISCOSMAKE} clean; fi
41 41
42cleandir distclean: .NOTMAIN cleandirriscoslib 42cleandir distclean: .NOTMAIN cleandirriscoslib
43cleandirriscoslib: .NOTMAIN 43cleandirriscoslib: .NOTMAIN

cvs diff -r1.9 -r1.9.10.1 src/sys/arch/hppa/spmath/Makefile.inc (expand / switch to unified diff)

--- src/sys/arch/hppa/spmath/Makefile.inc 2016/03/22 08:25:22 1.9
+++ src/sys/arch/hppa/spmath/Makefile.inc 2018/06/09 15:35:38 1.9.10.1
@@ -1,37 +1,37 @@ @@ -1,37 +1,37 @@
1# $NetBSD: Makefile.inc,v 1.9 2016/03/22 08:25:22 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.9.10.1 2018/06/09 15:35:38 martin Exp $
2 2
3# $OpenBSD: Makefile.inc,v 1.4 2001/03/29 03:58:17 mickey Exp $ 3# $OpenBSD: Makefile.inc,v 1.4 2001/03/29 03:58:17 mickey Exp $
4# 4#
5# NOTE: $S must correspond to the top of the 'sys' tree 5# NOTE: $S must correspond to the top of the 'sys' tree
6# $HPPA must correspond to the top of hppa tree 6# $HPPA must correspond to the top of hppa tree
7 7
8SPMATHDIR= ${HPPA}/spmath 8SPMATHDIR= ${HPPA}/spmath
9 9
10SPMATHDST?= ${.OBJDIR}/lib/spmath 10SPMATHDST?= ${.OBJDIR}/lib/spmath
11 11
12SPMATH= ${SPMATHDST}/spmath.o 12SPMATH= ${SPMATHDST}/spmath.o
13SPMATH_PROF= ${SPMATHDST}/spmath.po 13SPMATH_PROF= ${SPMATHDST}/spmath.po
14 14
15SPMATHMAKE= \ 15SPMATHMAKE= \
16 cd ${SPMATHDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \ 16 cd ${SPMATHDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
17 MAKEOBJDIR=${SPMATHDST} ${MAKE} \ 17 MAKEOBJDIR=${SPMATHDST} ${MAKE} \
18 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 18 CC=${CC:q} CFLAGS=${CFLAGS:q} \
19 SPMATHCPPFLAGS=${CPPFLAGS:S@^-I.@-I. -I../../.@g:Q} \ 19 SPMATHCPPFLAGS=${CPPFLAGS:S@^-I.@-I. -I../../.@g:q} \
20 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 20 AS=${AS:q} AFLAGS=${AFLAGS:q} \
21 LD=${LD:Q} STRIP=${STRIP:Q} \ 21 LD=${LD:q} STRIP=${STRIP:q} \
22 CPP=${CPP:Q} STRIP=${STRIP:Q} AR=${AR:Q} \ 22 CPP=${CPP:q} STRIP=${STRIP:q} AR=${AR:q} \
23 NM=${NM:Q} LORDER=${LORDER:Q} \ 23 NM=${NM:q} LORDER=${LORDER:q} \
24 XMACHINE=${MACHINE:Q} XMACHINE_ARCH=${MACHINE_ARCH:Q} 24 XMACHINE=${MACHINE:q} XMACHINE_ARCH=${MACHINE_ARCH:q}
25 25
26${SPMATH}: .NOTMAIN .MAKE __always_make_spmath 26${SPMATH}: .NOTMAIN .MAKE __always_make_spmath
27 @echo making sure the spmath library is up to date... 27 @echo making sure the spmath library is up to date...
28 @${SPMATHMAKE} spmath.o 28 @${SPMATHMAKE} spmath.o
29 29
30${SPMATH_PROF}: .NOTMAIN .MAKE __always_make_spmath 30${SPMATH_PROF}: .NOTMAIN .MAKE __always_make_spmath
31 @echo making sure the profiled spmath library is up to date... 31 @echo making sure the profiled spmath library is up to date...
32 @${SPMATHMAKE} spmath.po 32 @${SPMATHMAKE} spmath.po
33 33
34__CLEANSPMATH: .NOTMAIN .MAKE __always_make_spmath 34__CLEANSPMATH: .NOTMAIN .MAKE __always_make_spmath
35 @echo cleaning the spmath library objects 35 @echo cleaning the spmath library objects
36 @${SPMATHMAKE} clean 36 @${SPMATHMAKE} clean
37 37

cvs diff -r1.16 -r1.16.10.1 src/sys/arch/i386/stand/lib/Makefile.inc (expand / switch to unified diff)

--- src/sys/arch/i386/stand/lib/Makefile.inc 2016/03/22 08:25:22 1.16
+++ src/sys/arch/i386/stand/lib/Makefile.inc 2018/06/09 15:35:37 1.16.10.1
@@ -1,45 +1,45 @@ @@ -1,45 +1,45 @@
1# $NetBSD: Makefile.inc,v 1.16 2016/03/22 08:25:22 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.16.10.1 2018/06/09 15:35:37 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# I386DST may be set to the location of the directory where library 6# I386DST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/i386. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/i386.
8# I386MISCCPPFLAGS 8# I386MISCCPPFLAGS
9# Miscellaneous cpp flags to be passed to the library's Makefile 9# Miscellaneous cpp flags to be passed to the library's Makefile
10# when building. 10# when building.
11# I386MISCMAKEFLAGS 11# I386MISCMAKEFLAGS
12# Miscellaneous flags to be passed to the library's Makefile when 12# Miscellaneous flags to be passed to the library's Makefile when
13# building. See library's Makefile for more details about 13# building. See library's Makefile for more details about
14# supported flags and their default values. 14# supported flags and their default values.
15 15
16# Default values: 16# Default values:
17I386DST?= ${.OBJDIR}/lib/i386 17I386DST?= ${.OBJDIR}/lib/i386
18 18
19#I386DIR= $S/arch/i386/stand/lib 19#I386DIR= $S/arch/i386/stand/lib
20I386LIB= ${I386DST}/libi386.a 20I386LIB= ${I386DST}/libi386.a
21 21
22CWARNFLAGS.clang+= -Wno-tautological-compare 22CWARNFLAGS.clang+= -Wno-tautological-compare
23 23
24I386MAKE= \ 24I386MAKE= \
25 cd ${I386DIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \ 25 cd ${I386DIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
26 MAKEOBJDIR=${I386DST} ${MAKE} \ 26 MAKEOBJDIR=${I386DST} ${MAKE} \
27 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 27 CC=${CC:q} CFLAGS=${CFLAGS:q} \
28 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 28 AS=${AS:q} AFLAGS=${AFLAGS:q} \
29 LD=${LD:Q} STRIP=${STRIP:Q} \ 29 LD=${LD:q} STRIP=${STRIP:q} \
30 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 30 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
31 I386CPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \ 31 I386CPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:q} \
32 I386MISCCPPFLAGS=${I386MISCCPPFLAGS:Q} \ 32 I386MISCCPPFLAGS=${I386MISCCPPFLAGS:q} \
33 ${I386MISCMAKEFLAGS} 33 ${I386MISCMAKEFLAGS}
34 34
35${I386LIB}: .NOTMAIN __always_make_i386lib 35${I386LIB}: .NOTMAIN __always_make_i386lib
36 @echo making sure the i386 library is up to date... 36 @echo making sure the i386 library is up to date...
37 @${I386MAKE} libi386.a 37 @${I386MAKE} libi386.a
38 38
39clean: .NOTMAIN cleani386lib 39clean: .NOTMAIN cleani386lib
40cleani386lib: .NOTMAIN 40cleani386lib: .NOTMAIN
41 @echo cleaning the i386 library objects 41 @echo cleaning the i386 library objects
42 @if [ -d "${I386DST}" ]; then ${I386MAKE} clean; fi 42 @if [ -d "${I386DST}" ]; then ${I386MAKE} clean; fi
43 43
44cleandir distclean: .NOTMAIN cleandiri386lib 44cleandir distclean: .NOTMAIN cleandiri386lib
45cleandiri386lib: .NOTMAIN 45cleandiri386lib: .NOTMAIN

cvs diff -r1.4 -r1.4.10.1 src/sys/arch/ia64/stand/efi/libefi/Makefile.inc (expand / switch to unified diff)

--- src/sys/arch/ia64/stand/efi/libefi/Makefile.inc 2016/03/22 08:25:22 1.4
+++ src/sys/arch/ia64/stand/efi/libefi/Makefile.inc 2018/06/09 15:35:38 1.4.10.1
@@ -1,43 +1,43 @@ @@ -1,43 +1,43 @@
1# $NetBSD: Makefile.inc,v 1.4 2016/03/22 08:25:22 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.4.10.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# EFIDST may be set to the location of the directory where library 6# EFIDST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/efi. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/efi.
8# EFIMISCCPPFLAGS 8# EFIMISCCPPFLAGS
9# Miscellaneous cpp flags to be passed to the library's Makefile 9# Miscellaneous cpp flags to be passed to the library's Makefile
10# when building. 10# when building.
11# EFIMISCMAKEFLAGS 11# EFIMISCMAKEFLAGS
12# Miscellaneous flags to be passed to the library's Makefile when 12# Miscellaneous flags to be passed to the library's Makefile when
13# building. See library's Makefile for more details about 13# building. See library's Makefile for more details about
14# supported flags and their default values. 14# supported flags and their default values.
15 15
16# Default values: 16# Default values:
17EFIDST?= ${.OBJDIR}/efi/libefi 17EFIDST?= ${.OBJDIR}/efi/libefi
18 18
19EFIDIR?= $S/arch/ia64/stand/efi/libefi 19EFIDIR?= $S/arch/ia64/stand/efi/libefi
20EFILIB= ${EFIDST}/libefi.a 20EFILIB= ${EFIDST}/libefi.a
21 21
22EFIMAKE= \ 22EFIMAKE= \
23 cd ${EFIDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \ 23 cd ${EFIDIR} && MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX && \
24 MAKEOBJDIR=${EFIDST} ${MAKE} \ 24 MAKEOBJDIR=${EFIDST} ${MAKE} \
25 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 25 CC=${CC:q} CFLAGS=${CFLAGS:q} \
26 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 26 AS=${AS:q} AFLAGS=${AFLAGS:q} \
27 LD=${LD:Q} STRIP=${STRIP:Q} \ 27 LD=${LD:q} STRIP=${STRIP:q} \
28 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 28 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
29 EFICPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:Q} \ 29 EFICPPFLAGS=${CPPFLAGS:S@^-I.@-I../../.@g:q} \
30 EFIMISCCPPFLAGS=${EFIMISCCPPFLAGS:Q} \ 30 EFIMISCCPPFLAGS=${EFIMISCCPPFLAGS:q} \
31 ${EFIMISCMAKEFLAGS} 31 ${EFIMISCMAKEFLAGS}
32 32
33${EFILIB}: .NOTMAIN __always_make_efilib 33${EFILIB}: .NOTMAIN __always_make_efilib
34 @echo making sure the efi library is up to date... 34 @echo making sure the efi library is up to date...
35 @${EFIMAKE} libefi.a 35 @${EFIMAKE} libefi.a
36 36
37clean: .NOTMAIN cleanefilib 37clean: .NOTMAIN cleanefilib
38cleanefilib: .NOTMAIN 38cleanefilib: .NOTMAIN
39 @echo cleaning the efi library objects 39 @echo cleaning the efi library objects
40 @if [ -d "${EFIDST}" ]; then ${EFIMAKE} clean; fi 40 @if [ -d "${EFIDST}" ]; then ${EFIMAKE} clean; fi
41 41
42cleandir distclean: .NOTMAIN cleandirefilib 42cleandir distclean: .NOTMAIN cleandirefilib
43cleandirefilib: .NOTMAIN 43cleandirefilib: .NOTMAIN

cvs diff -r1.20 -r1.20.10.1 src/sys/arch/m68k/fpsp/Makefile.inc (expand / switch to unified diff)

--- src/sys/arch/m68k/fpsp/Makefile.inc 2016/03/22 08:25:22 1.20
+++ src/sys/arch/m68k/fpsp/Makefile.inc 2018/06/09 15:35:38 1.20.10.1
@@ -1,54 +1,54 @@ @@ -1,54 +1,54 @@
1# $NetBSD: Makefile.inc,v 1.20 2016/03/22 08:25:22 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.20.10.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# FPSPDST may be set to the location of the directory where library 6# FPSPDST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/kern. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/kern.
8# FPSP_AS isn't there. We always build an object file. 8# FPSP_AS isn't there. We always build an object file.
9# FPSPMISCCPPFLAGS 9# FPSPMISCCPPFLAGS
10# Miscellaneous cpp flags to be passed to the library's Makefile 10# Miscellaneous cpp flags to be passed to the library's Makefile
11# when building. 11# when building.
12# FPSPMISCMAKEFLAGS 12# FPSPMISCMAKEFLAGS
13# Miscellaneous flags to be passed to the library's Makefile when 13# Miscellaneous flags to be passed to the library's Makefile when
14# building. See library's Makefile for more details about 14# building. See library's Makefile for more details about
15# supported flags and their default values. 15# supported flags and their default values.
16 16
17# Default values: 17# Default values:
18FPSPDST?= ${.OBJDIR}/lib/fpsp 18FPSPDST?= ${.OBJDIR}/lib/fpsp
19FPSPDOTDIR?= ../../. 19FPSPDOTDIR?= ../../.
20 20
21FPSPDIR= ${S:S@^.@${FPSPDOTDIR}@:Q}/arch/m68k/fpsp 21FPSPDIR= ${S:S@^.@${FPSPDOTDIR}@:q}/arch/m68k/fpsp
22FPSPOBJ= ${FPSPDST}/fpsp.o 22FPSPOBJ= ${FPSPDST}/fpsp.o
23HAS_FPSP!= grep '^\#define FPSP 1$$' opt_fpsp.h || echo 23HAS_FPSP!= grep '^\#define FPSP 1$$' opt_fpsp.h || echo
24.if !empty(HAS_FPSP) 24.if !empty(HAS_FPSP)
25FPSP= ${FPSPOBJ} 25FPSP= ${FPSPOBJ}
26.endif 26.endif
27 27
28# CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 28# CC=${CC:q} CFLAGS=${CFLAGS:q} \
29# AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 29# AS=${AS:q} AFLAGS=${AFLAGS:q} \
30# LD=${LD:Q} STRIP=${STRIP:Q} \ 30# LD=${LD:q} STRIP=${STRIP:q} \
31 31
32FPSPMAKE= \ 32FPSPMAKE= \
33 cd ${FPSPDST} && ${MAKE} -f ${FPSPDIR:Q}/Makefile \ 33 cd ${FPSPDST} && ${MAKE} -f ${FPSPDIR:q}/Makefile \
34 FPSPDIR=${FPSPDIR:Q} \ 34 FPSPDIR=${FPSPDIR:q} \
35 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 35 CC=${CC:q} CFLAGS=${CFLAGS:q} \
36 LD=${LD:Q} STRIP=${STRIP:Q} \ 36 LD=${LD:q} STRIP=${STRIP:q} \
37 MACHINE=${MACHINE} \ 37 MACHINE=${MACHINE} \
38 MACHINE_ARCH=${MACHINE_ARCH:Q} \ 38 MACHINE_ARCH=${MACHINE_ARCH:q} \
39 FPSPCPPFLAGS=${CPPFLAGS:S@^-I.@-I${FPSPDOTDIR}@g:Q} \ 39 FPSPCPPFLAGS=${CPPFLAGS:S@^-I.@-I${FPSPDOTDIR}@g:q} \
40 FPSPMISCCPPFLAGS=${FPSPMISCCPPFLAGS:Q} \ 40 FPSPMISCCPPFLAGS=${FPSPMISCCPPFLAGS:q} \
41 FPSPDIR=${FPSPDIR:Q} \ 41 FPSPDIR=${FPSPDIR:q} \
42 ${FPSPMISCMAKEFLAGS} 42 ${FPSPMISCMAKEFLAGS}
43 43
44${FPSP}: .NOTMAIN __always_make_fpsp 44${FPSP}: .NOTMAIN __always_make_fpsp
45 @echo making sure the 68040 FPSP is up to date... 45 @echo making sure the 68040 FPSP is up to date...
46 @${FPSPMAKE} fpsp.o 46 @${FPSPMAKE} fpsp.o
47 47
48${FPSPLIB_PROF}: .NOTMAIN __always_make_fpsp 48${FPSPLIB_PROF}: .NOTMAIN __always_make_fpsp
49 @echo making sure the profiled 68040 FPSP is up to date... 49 @echo making sure the profiled 68040 FPSP is up to date...
50 @${FPSPMAKE} fpsp.po 50 @${FPSPMAKE} fpsp.po
51 51
52clean: .NOTMAIN cleanfpsp 52clean: .NOTMAIN cleanfpsp
53cleanfpsp: .NOTMAIN __always_make_fpsp 53cleanfpsp: .NOTMAIN __always_make_fpsp
54 @echo cleaning the 68040 FPSP objects 54 @echo cleaning the 68040 FPSP objects

cvs diff -r1.22 -r1.22.10.1 src/sys/compat/common/Attic/Makefile.inc (expand / switch to unified diff)

--- src/sys/compat/common/Attic/Makefile.inc 2016/03/22 08:25:23 1.22
+++ src/sys/compat/common/Attic/Makefile.inc 2018/06/09 15:35:37 1.22.10.1
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile.inc,v 1.22 2016/03/22 08:25:23 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.22.10.1 2018/06/09 15:35:37 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# COMPATDST 6# COMPATDST
7# may be set to the location of the directory where library 7# may be set to the location of the directory where library
8# objects are to be built. Defaults to ${.OBJDIR}/lib/compat. 8# objects are to be built. Defaults to ${.OBJDIR}/lib/compat.
9# COMPAT_AS 9# COMPAT_AS
10# may be set to 'obj' to build a object from the library's 10# may be set to 'obj' to build a object from the library's
11# object files. (Otherwise, a library will be built.) 11# object files. (Otherwise, a library will be built.)
12# Defaults to 'library'. 12# Defaults to 'library'.
13# COMPATMISCMAKEFLAGS 13# COMPATMISCMAKEFLAGS
14# Miscellaneous flags to be passed to the library's Makefile when 14# Miscellaneous flags to be passed to the library's Makefile when
@@ -23,39 +23,39 @@ COMPATDOTDIR?= ../../. @@ -23,39 +23,39 @@ COMPATDOTDIR?= ../../.
23COMPATDIR= ${S:S@^.@${COMPATDOTDIR}@:Q}/compat/common 23COMPATDIR= ${S:S@^.@${COMPATDOTDIR}@:Q}/compat/common
24.if (${COMPAT_AS} == "obj") 24.if (${COMPAT_AS} == "obj")
25COMPATLIB= ${COMPATDST}/libcompat.o 25COMPATLIB= ${COMPATDST}/libcompat.o
26COMPATLIB_PROF= ${COMPATDST}/libcompat.po 26COMPATLIB_PROF= ${COMPATDST}/libcompat.po
27.else 27.else
28COMPATLIB= ${COMPATDST}/libcompat.a 28COMPATLIB= ${COMPATDST}/libcompat.a
29COMPATLIB_PROF= ${COMPATDST}/libcompat_p.a 29COMPATLIB_PROF= ${COMPATDST}/libcompat_p.a
30.endif 30.endif
31 31
32LIBCOMPATLNBN= llib-lcompat.ln 32LIBCOMPATLNBN= llib-lcompat.ln
33COMPATLIBLN= ${COMPATDST}/${LIBCOMPATLNBN} 33COMPATLIBLN= ${COMPATDST}/${LIBCOMPATLNBN}
34 34
35COMPATMAKE= \ 35COMPATMAKE= \
36 cd ${COMPATDST} && ${MAKE} -f ${COMPATDIR:Q}/Makefile \ 36 cd ${COMPATDST} && ${MAKE} -f ${COMPATDIR:q}/Makefile \
37 COMPATDIR=${COMPATDIR:Q} \ 37 COMPATDIR=${COMPATDIR:q} \
38 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \ 38 CC=${CC:q} CFLAGS=${CFLAGS:q} \
39 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 39 AS=${AS:q} AFLAGS=${AFLAGS:q} \
40 AR=${AR:Q} NM=${NM:Q} \ 40 AR=${AR:q} NM=${NM:q} \
41 LORDER=${LORDER:Q} \ 41 LORDER=${LORDER:q} \
42 TSORT=${TSORT:Q} \ 42 TSORT=${TSORT:q} \
43 RANLIB=${RANLIB:Q} \ 43 RANLIB=${RANLIB:q} \
44 LD=${LD:Q} LDFLAGS=${LDFLAGS:Q} \ 44 LD=${LD:q} LDFLAGS=${LDFLAGS:q} \
45 STRIP=${STRIP:Q} \ 45 STRIP=${STRIP:q} \
46 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 46 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
47 COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I${COMPATDOTDIR}@g:Q} \ 47 COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I${COMPATDOTDIR}@g:q} \
48 LINTFLAGS=${KERNLINTFLAGS:Q} \ 48 LINTFLAGS=${KERNLINTFLAGS:q} \
49 ${COMPATMISCMAKEFLAGS} 49 ${COMPATMISCMAKEFLAGS}
50 50
51${COMPATLIB}: .NOTMAIN .MAKE __always_make_compatlib 51${COMPATLIB}: .NOTMAIN .MAKE __always_make_compatlib
52 @echo making sure the compat library is up to date... 52 @echo making sure the compat library is up to date...
53.if (${COMPAT_AS} == "library") 53.if (${COMPAT_AS} == "library")
54 @${COMPATMAKE} libcompat.a 54 @${COMPATMAKE} libcompat.a
55.else 55.else
56 @${COMPATMAKE} libcompat.o 56 @${COMPATMAKE} libcompat.o
57.endif 57.endif
58 58
59${COMPATLIB_PROF}: .NOTMAIN .MAKE __always_make_compatlib 59${COMPATLIB_PROF}: .NOTMAIN .MAKE __always_make_compatlib
60 @echo making sure the profiled compat library is up to date... 60 @echo making sure the profiled compat library is up to date...
61.if (${COMPAT_AS} == "library") 61.if (${COMPAT_AS} == "library")

cvs diff -r1.4 -r1.4.6.1 src/sys/lib/libgnuefi/Makefile.inc (expand / switch to unified diff)

--- src/sys/lib/libgnuefi/Makefile.inc 2017/01/24 11:09:14 1.4
+++ src/sys/lib/libgnuefi/Makefile.inc 2018/06/09 15:35:37 1.4.6.1
@@ -1,63 +1,63 @@ @@ -1,63 +1,63 @@
1# $NetBSD: Makefile.inc,v 1.4 2017/01/24 11:09:14 nonaka Exp $ 1# $NetBSD: Makefile.inc,v 1.4.6.1 2018/06/09 15:35:37 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# GNUEFIDST may be set to the location of the directory where library 6# GNUEFIDST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/gnuefi. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/gnuefi.
8# GNUEFI_AS may be set to 'obj' to build a object from the library's 8# GNUEFI_AS may be set to 'obj' to build a object from the library's
9# object files. (Otherwise, a library will be built.) 9# object files. (Otherwise, a library will be built.)
10# Defaults to 'library'. 10# Defaults to 'library'.
11# GNUEFIMISCCPPFLAGS 11# GNUEFIMISCCPPFLAGS
12# Miscellaneous cpp flags to be passed to the library's Makefile 12# Miscellaneous cpp flags to be passed to the library's Makefile
13# when building. 13# when building.
14# GNUEFIMISCMAKEFLAGS 14# GNUEFIMISCMAKEFLAGS
15# Miscellaneous flags to be passed to the library's Makefile when 15# Miscellaneous flags to be passed to the library's Makefile when
16# building. See library's Makefile for more details about 16# building. See library's Makefile for more details about
17# supported flags and their default values. 17# supported flags and their default values.
18 18
19# Default values: 19# Default values:
20GNUEFIDST?= ${.OBJDIR}/lib/gnuefi 20GNUEFIDST?= ${.OBJDIR}/lib/gnuefi
21GNUEFI_AS?= library 21GNUEFI_AS?= library
22GNUEFIDOTDIR?= ../../. 22GNUEFIDOTDIR?= ../../.
23 23
24CWARNFLAGS.clang+= -Wno-format-extra-args 24CWARNFLAGS.clang+= -Wno-format-extra-args
25 25
26GNUEFIDIR= ${S:S@^.@${GNUEFIDOTDIR}@:Q}/lib/libgnuefi 26GNUEFIDIR= ${S:S@^.@${GNUEFIDOTDIR}@:q}/lib/libgnuefi
27.if (${GNUEFI_AS} == "obj") 27.if (${GNUEFI_AS} == "obj")
28GNUEFILIB= ${GNUEFIDST}/libgnuefi.o 28GNUEFILIB= ${GNUEFIDST}/libgnuefi.o
29GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi.po 29GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi.po
30.else 30.else
31GNUEFILIB= ${GNUEFIDST}/libgnuefi.a 31GNUEFILIB= ${GNUEFIDST}/libgnuefi.a
32GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi_p.a 32GNUEFILIB_PROF= ${GNUEFIDST}/libgnuefi_p.a
33.endif 33.endif
34ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib 34ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib
35GNUEFIMISCCPPFLAGS+=-I${ZLIBSRCDIR} 35GNUEFIMISCCPPFLAGS+=-I${ZLIBSRCDIR}
36 36
37GNUEFIMAKE= \ 37GNUEFIMAKE= \
38 cd ${GNUEFIDST} && ${MAKE} -f ${GNUEFIDIR:Q}/Makefile \ 38 cd ${GNUEFIDST} && ${MAKE} -f ${GNUEFIDIR:q}/Makefile \
39 GNUEFIDIR=${GNUEFIDIR:Q} \ 39 GNUEFIDIR=${GNUEFIDIR:q} \
40 CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \ 40 CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
41 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 41 AS=${AS:q} AFLAGS=${AFLAGS:q} \
42 LORDER=${LORDER:Q} \ 42 LORDER=${LORDER:q} \
43 TSORT=${TSORT:Q} \ 43 TSORT=${TSORT:q} \
44 LD=${LD:Q} STRIP=${STRIP:Q} \ 44 LD=${LD:q} STRIP=${STRIP:q} \
45 AR=${AR:Q} NM=${NM:Q} \ 45 AR=${AR:q} NM=${NM:q} \
46 RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \ 46 RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
47 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 47 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
48 GNUEFICPPFLAGS=${CPPFLAGS:S@^-I.@-I${GNUEFIDOTDIR}@g:Q} \ 48 GNUEFICPPFLAGS=${CPPFLAGS:S@^-I.@-I${GNUEFIDOTDIR}@g:q} \
49 GNUEFIMISCCPPFLAGS=${GNUEFIMISCCPPFLAGS:Q} \ 49 GNUEFIMISCCPPFLAGS=${GNUEFIMISCCPPFLAGS:q} \
50 LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH:Q} \ 50 LIBGNUEFI_ARCH=${LIBGNUEFI_ARCH:q} \
51 ${GNUEFIMISCMAKEFLAGS} 51 ${GNUEFIMISCMAKEFLAGS}
52 52
53${GNUEFILIB}: .NOTMAIN .MAKE __always_make_gnuefilib 53${GNUEFILIB}: .NOTMAIN .MAKE __always_make_gnuefilib
54 @echo making sure the gnuefi library is up to date... 54 @echo making sure the gnuefi library is up to date...
55.if (${GNUEFI_AS} == "library") 55.if (${GNUEFI_AS} == "library")
56 @${GNUEFIMAKE} libgnuefi.a 56 @${GNUEFIMAKE} libgnuefi.a
57.else 57.else
58 @${GNUEFIMAKE} libgnuefi.o 58 @${GNUEFIMAKE} libgnuefi.o
59.endif 59.endif
60 60
61${GNUEFILIB_PROF}: .NOTMAIN .MAKE __always_make_gnuefilib 61${GNUEFILIB_PROF}: .NOTMAIN .MAKE __always_make_gnuefilib
62 @echo making sure the profiled gnuefi library is up to date... 62 @echo making sure the profiled gnuefi library is up to date...
63.if (${GNUEFI_AS} == "library") 63.if (${GNUEFI_AS} == "library")

cvs diff -r1.44 -r1.44.10.1 src/sys/lib/libkern/Makefile.inc (expand / switch to unified diff)

--- src/sys/lib/libkern/Makefile.inc 2015/10/29 00:18:55 1.44
+++ src/sys/lib/libkern/Makefile.inc 2018/06/09 15:35:38 1.44.10.1
@@ -1,64 +1,64 @@ @@ -1,64 +1,64 @@
1# $NetBSD: Makefile.inc,v 1.44 2015/10/29 00:18:55 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.44.10.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# KERNDST may be set to the location of the directory where library 6# KERNDST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/kern. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/kern.
8# KERN_AS may be set to 'obj' to build a object from the library's 8# KERN_AS may be set to 'obj' to build a object from the library's
9# object files. (Otherwise, a library will be built.) 9# object files. (Otherwise, a library will be built.)
10# Defaults to 'library'. 10# Defaults to 'library'.
11# KERNMISCCPPFLAGS 11# KERNMISCCPPFLAGS
12# Miscellaneous cpp flags to be passed to the library's Makefile 12# Miscellaneous cpp flags to be passed to the library's Makefile
13# when building. 13# when building.
14# KERNMISCMAKEFLAGS 14# KERNMISCMAKEFLAGS
15# Miscellaneous flags to be passed to the library's Makefile when 15# Miscellaneous flags to be passed to the library's Makefile when
16# building. See library's Makefile for more details about 16# building. See library's Makefile for more details about
17# supported flags and their default values. 17# supported flags and their default values.
18 18
19# Default values: 19# Default values:
20KERNDST?= ${.OBJDIR}/lib/kern 20KERNDST?= ${.OBJDIR}/lib/kern
21KERN_AS?= library 21KERN_AS?= library
22KERNDOTDIR?= ../../. 22KERNDOTDIR?= ../../.
23 23
24KERNDIR= ${S:S@^.@${KERNDOTDIR}@:Q}/lib/libkern 24KERNDIR= ${S:S@^.@${KERNDOTDIR}@:q}/lib/libkern
25.if (${KERN_AS} == "obj") 25.if (${KERN_AS} == "obj")
26KERNLIB= ${KERNDST}/libkern.o 26KERNLIB= ${KERNDST}/libkern.o
27KERNLIB_PROF= ${KERNDST}/libkern.po 27KERNLIB_PROF= ${KERNDST}/libkern.po
28.else 28.else
29KERNLIB= ${KERNDST}/libkern.a 29KERNLIB= ${KERNDST}/libkern.a
30KERNLIB_PROF= ${KERNDST}/libkern_p.a 30KERNLIB_PROF= ${KERNDST}/libkern_p.a
31.endif 31.endif
32 32
33LIBKERNLNBN= llib-lkern.ln 33LIBKERNLNBN= llib-lkern.ln
34KERNLIBLN= ${KERNDST}/${LIBKERNLNBN} 34KERNLIBLN= ${KERNDST}/${LIBKERNLNBN}
35 35
36KERNMAKE= \ 36KERNMAKE= \
37 cd ${KERNDST} && ${MAKE} -f ${KERNDIR:Q}/Makefile \ 37 cd ${KERNDST} && ${MAKE} -f ${KERNDIR:q}/Makefile \
38 KERNDIR=${KERNDIR:Q} \ 38 KERNDIR=${KERNDIR:q} \
39 CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \ 39 CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
40 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 40 AS=${AS:q} AFLAGS=${AFLAGS:q} \
41 LORDER=${LORDER:Q} \ 41 LORDER=${LORDER:q} \
42 TSORT=${TSORT:Q} \ 42 TSORT=${TSORT:q} \
43 LD=${LD:Q} STRIP=${STRIP:Q} \ 43 LD=${LD:q} STRIP=${STRIP:q} \
44 AR=${AR:Q} NM=${NM:Q} \ 44 AR=${AR:q} NM=${NM:q} \
45 RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \ 45 RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
46 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 46 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
47 KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I${KERNDOTDIR}@g:Q} \ 47 KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I${KERNDOTDIR}@g:q} \
48 KERNMISCCPPFLAGS=${KERNMISCCPPFLAGS:Q} \ 48 KERNMISCCPPFLAGS=${KERNMISCCPPFLAGS:q} \
49 LINTFLAGS=${KERNLINTFLAGS:Q} \ 49 LINTFLAGS=${KERNLINTFLAGS:q} \
50 LIBKERN_ARCH=${LIBKERN_ARCH:Q} \ 50 LIBKERN_ARCH=${LIBKERN_ARCH:q} \
51 COMMON_MACHINE_ARCH=${COMMON_MACHINE_ARCH:Q} \ 51 COMMON_MACHINE_ARCH=${COMMON_MACHINE_ARCH:q} \
52 ${KERNMISCMAKEFLAGS} 52 ${KERNMISCMAKEFLAGS}
53 53
54${KERNLIB}: .NOTMAIN .MAKE __always_make_kernlib 54${KERNLIB}: .NOTMAIN .MAKE __always_make_kernlib
55 @echo making sure the kern library is up to date... 55 @echo making sure the kern library is up to date...
56.if (${KERN_AS} == "library") 56.if (${KERN_AS} == "library")
57 @${KERNMAKE} libkern.a 57 @${KERNMAKE} libkern.a
58.else 58.else
59 @${KERNMAKE} libkern.o 59 @${KERNMAKE} libkern.o
60.endif 60.endif
61 61
62${KERNLIB_PROF}: .NOTMAIN .MAKE __always_make_kernlib 62${KERNLIB_PROF}: .NOTMAIN .MAKE __always_make_kernlib
63 @echo making sure the profiled kern library is up to date... 63 @echo making sure the profiled kern library is up to date...
64.if (${KERN_AS} == "library") 64.if (${KERN_AS} == "library")

cvs diff -r1.23 -r1.23.10.1 src/sys/lib/libsa/Makefile.inc (expand / switch to unified diff)

--- src/sys/lib/libsa/Makefile.inc 2016/03/22 08:25:23 1.23
+++ src/sys/lib/libsa/Makefile.inc 2018/06/09 15:35:38 1.23.10.1
@@ -1,62 +1,62 @@ @@ -1,62 +1,62 @@
1# $NetBSD: Makefile.inc,v 1.23 2016/03/22 08:25:23 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.23.10.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# SADST may be set to the location of the directory where library 6# SADST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/sa. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/sa.
8# SA_AS may be set to 'obj' to build a object from the library's 8# SA_AS may be set to 'obj' to build a object from the library's
9# object files. (Otherwise, a library will be built.) 9# object files. (Otherwise, a library will be built.)
10# Defaults to 'library'. 10# Defaults to 'library'.
11# SAMISCCPPFLAGS 11# SAMISCCPPFLAGS
12# Miscellaneous cpp flags to be passed to the library's Makefile 12# Miscellaneous cpp flags to be passed to the library's Makefile
13# when building. 13# when building.
14# SAMISCMAKEFLAGS 14# SAMISCMAKEFLAGS
15# Miscellaneous flags to be passed to the library's Makefile when 15# Miscellaneous flags to be passed to the library's Makefile when
16# building. See library's Makefile for more details about 16# building. See library's Makefile for more details about
17# supported flags and their default values. 17# supported flags and their default values.
18 18
19# Default values: 19# Default values:
20SADST?= ${.OBJDIR}/lib/sa 20SADST?= ${.OBJDIR}/lib/sa
21SA_AS?= library 21SA_AS?= library
22SADOTDIR?= ../../. 22SADOTDIR?= ../../.
23 23
24CWARNFLAGS.clang+= -Wno-format-extra-args 24CWARNFLAGS.clang+= -Wno-format-extra-args
25 25
26SADIR= ${S:S@^.@${SADOTDIR}@:Q}/lib/libsa 26SADIR= ${S:S@^.@${SADOTDIR}@:q}/lib/libsa
27.if (${SA_AS} == "obj") 27.if (${SA_AS} == "obj")
28SALIB= ${SADST}/libsa.o 28SALIB= ${SADST}/libsa.o
29SALIB_PROF= ${SADST}/libsa.po 29SALIB_PROF= ${SADST}/libsa.po
30.else 30.else
31SALIB= ${SADST}/libsa.a 31SALIB= ${SADST}/libsa.a
32SALIB_PROF= ${SADST}/libsa_p.a 32SALIB_PROF= ${SADST}/libsa_p.a
33.endif 33.endif
34ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib 34ZLIBSRCDIR:= ${.PARSEDIR}/../../../common/dist/zlib
35SAMISCCPPFLAGS+=-I${ZLIBSRCDIR} 35SAMISCCPPFLAGS+=-I${ZLIBSRCDIR}
36 36
37SAMAKE= \ 37SAMAKE= \
38 cd ${SADST} && ${MAKE} -f ${SADIR:Q}/Makefile \ 38 cd ${SADST} && ${MAKE} -f ${SADIR:q}/Makefile \
39 SADIR=${SADIR:Q} \ 39 SADIR=${SADIR:q} \
40 CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \ 40 CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
41 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 41 AS=${AS:q} AFLAGS=${AFLAGS:q} \
42 LORDER=${LORDER:Q} \ 42 LORDER=${LORDER:q} \
43 TSORT=${TSORT:Q} \ 43 TSORT=${TSORT:q} \
44 LD=${LD:Q} STRIP=${STRIP:Q} \ 44 LD=${LD:q} STRIP=${STRIP:q} \
45 AR=${AR:Q} NM=${NM:Q} \ 45 AR=${AR:q} NM=${NM:q} \
46 RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \ 46 RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
47 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 47 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
48 SACPPFLAGS=${CPPFLAGS:S@^-I.@-I${SADOTDIR}@g:Q} \ 48 SACPPFLAGS=${CPPFLAGS:S@^-I.@-I${SADOTDIR}@g:q} \
49 SAMISCCPPFLAGS=${SAMISCCPPFLAGS:Q} \ 49 SAMISCCPPFLAGS=${SAMISCCPPFLAGS:q} \
50 ${SAMISCMAKEFLAGS} 50 ${SAMISCMAKEFLAGS}
51 51
52${SALIB}: .NOTMAIN .MAKE __always_make_salib 52${SALIB}: .NOTMAIN .MAKE __always_make_salib
53 @echo making sure the sa library is up to date... 53 @echo making sure the sa library is up to date...
54.if (${SA_AS} == "library") 54.if (${SA_AS} == "library")
55 @${SAMAKE} libsa.a 55 @${SAMAKE} libsa.a
56.else 56.else
57 @${SAMAKE} libsa.o 57 @${SAMAKE} libsa.o
58.endif 58.endif
59 59
60${SALIB_PROF}: .NOTMAIN .MAKE __always_make_salib 60${SALIB_PROF}: .NOTMAIN .MAKE __always_make_salib
61 @echo making sure the profiled sa library is up to date... 61 @echo making sure the profiled sa library is up to date...
62.if (${SA_AS} == "library") 62.if (${SA_AS} == "library")

cvs diff -r1.16 -r1.16.10.1 src/sys/lib/libz/Makefile.inc (expand / switch to unified diff)

--- src/sys/lib/libz/Makefile.inc 2016/03/22 08:25:23 1.16
+++ src/sys/lib/libz/Makefile.inc 2018/06/09 15:35:38 1.16.10.1
@@ -1,58 +1,58 @@ @@ -1,58 +1,58 @@
1# $NetBSD: Makefile.inc,v 1.16 2016/03/22 08:25:23 mrg Exp $ 1# $NetBSD: Makefile.inc,v 1.16.10.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Configuration variables (default values are below): 3# Configuration variables (default values are below):
4# 4#
5# S must be set to the top of the 'sys' tree. 5# S must be set to the top of the 'sys' tree.
6# ZDST may be set to the location of the directory where library 6# ZDST may be set to the location of the directory where library
7# objects are to be built. Defaults to ${.OBJDIR}/lib/z. 7# objects are to be built. Defaults to ${.OBJDIR}/lib/z.
8# Z_AS may be set to 'obj' to build a object from the library's 8# Z_AS may be set to 'obj' to build a object from the library's
9# object files. (Otherwise, a library will be built.) 9# object files. (Otherwise, a library will be built.)
10# Defaults to 'library'. 10# Defaults to 'library'.
11# ZMISCCPPFLAGS 11# ZMISCCPPFLAGS
12# Miscellaneous cpp flags to be passed to the library's Makefile 12# Miscellaneous cpp flags to be passed to the library's Makefile
13# when building. 13# when building.
14# ZMISCMAKEFLAGS 14# ZMISCMAKEFLAGS
15# Miscellaneous flags to be passed to the library's Makefile when 15# Miscellaneous flags to be passed to the library's Makefile when
16# building. See library's Makefile for more details about 16# building. See library's Makefile for more details about
17# supported flags and their default values. 17# supported flags and their default values.
18 18
19# Default values: 19# Default values:
20ZDST?= ${.OBJDIR}/lib/z 20ZDST?= ${.OBJDIR}/lib/z
21Z_AS?= library 21Z_AS?= library
22ZDOTDIR?= ../../. 22ZDOTDIR?= ../../.
23 23
24ZDIR= ${S:S@^.@${ZDOTDIR}@:Q}/lib/libz 24ZDIR= ${S:S@^.@${ZDOTDIR}@:q}/lib/libz
25.if (${Z_AS} == "obj") 25.if (${Z_AS} == "obj")
26ZLIB= ${ZDST}/libz.o 26ZLIB= ${ZDST}/libz.o
27ZLIB_PROF= ${ZDST}/libz.po 27ZLIB_PROF= ${ZDST}/libz.po
28.else 28.else
29ZLIB= ${ZDST}/libz.a 29ZLIB= ${ZDST}/libz.a
30ZLIB_PROF= ${ZDST}/libz_p.a 30ZLIB_PROF= ${ZDST}/libz_p.a
31.endif 31.endif
32 32
33ZMAKE= \ 33ZMAKE= \
34 cd ${ZDST} && ${MAKE} -f ${ZDIR:Q}/Makefile \ 34 cd ${ZDST} && ${MAKE} -f ${ZDIR:q}/Makefile \
35 ZDIR=${ZDIR:Q} \ 35 ZDIR=${ZDIR:q} \
36 CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \ 36 CC=${CC:q} CFLAGS=${CFLAGS:q} CPUFLAGS= \
37 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \ 37 AS=${AS:q} AFLAGS=${AFLAGS:q} \
38 LORDER=${LORDER:Q} \ 38 LORDER=${LORDER:q} \
39 TSORT=${TSORT:Q} \ 39 TSORT=${TSORT:q} \
40 LD=${LD:Q} STRIP=${STRIP:Q} \ 40 LD=${LD:q} STRIP=${STRIP:q} \
41 AR=${AR:Q} NM=${NM:Q} \ 41 AR=${AR:q} NM=${NM:q} \
42 RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \ 42 RANLIB=${RANLIB:q} SIZE=${SIZE:q} \
43 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \ 43 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:q} \
44 ZCPPFLAGS=${CPPFLAGS:S@^-I.@-I${ZDOTDIR}@g:Q} \ 44 ZCPPFLAGS=${CPPFLAGS:S@^-I.@-I${ZDOTDIR}@g:q} \
45 ZMISCCPPFLAGS=${ZMISCCPPFLAGS:Q} \ 45 ZMISCCPPFLAGS=${ZMISCCPPFLAGS:q} \
46 ${ZMISCMAKEFLAGS} 46 ${ZMISCMAKEFLAGS}
47 47
48${ZLIB}: .NOTMAIN .MAKE __always_make_zlib 48${ZLIB}: .NOTMAIN .MAKE __always_make_zlib
49 @echo making sure the z library is up to date... 49 @echo making sure the z library is up to date...
50.if (${Z_AS} == "library") 50.if (${Z_AS} == "library")
51 @${ZMAKE} libz.a 51 @${ZMAKE} libz.a
52.else 52.else
53 @${ZMAKE} libz.o 53 @${ZMAKE} libz.o
54.endif 54.endif
55 55
56${ZLIB_PROF}: .NOTMAIN .MAKE __always_make_zlib 56${ZLIB_PROF}: .NOTMAIN .MAKE __always_make_zlib
57 @echo making sure the profiled z library is up to date... 57 @echo making sure the profiled z library is up to date...
58.if (${Z_AS} == "library") 58.if (${Z_AS} == "library")

cvs diff -r1.266.4.1 -r1.266.4.2 src/usr.bin/make/make.1 (expand / switch to unified diff)

--- src/usr.bin/make/make.1 2017/07/18 15:26:14 1.266.4.1
+++ src/usr.bin/make/make.1 2018/06/09 15:35:38 1.266.4.2
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1.\" $NetBSD: make.1,v 1.266.4.1 2017/07/18 15:26:14 snj Exp $ 1.\" $NetBSD: make.1,v 1.266.4.2 2018/06/09 15:35:38 martin Exp $
2.\" 2.\"
3.\" Copyright (c) 1990, 1993 3.\" Copyright (c) 1990, 1993
4.\" The Regents of the University of California. All rights reserved. 4.\" The Regents of the University of California. All rights reserved.
5.\" 5.\"
6.\" Redistribution and use in source and binary forms, with or without 6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions 7.\" modification, are permitted provided that the following conditions
8.\" are met: 8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright 9.\" 1. Redistributions of source code must retain the above copyright
10.\" notice, this list of conditions and the following disclaimer. 10.\" notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\" notice, this list of conditions and the following disclaimer in the 12.\" notice, this list of conditions and the following disclaimer in the
13.\" documentation and/or other materials provided with the distribution. 13.\" documentation and/or other materials provided with the distribution.
14.\" 3. Neither the name of the University nor the names of its contributors 14.\" 3. Neither the name of the University nor the names of its contributors
@@ -19,27 +19,27 @@ @@ -19,27 +19,27 @@
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE. 28.\" SUCH DAMAGE.
29.\" 29.\"
30.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 30.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
31.\" 31.\"
32.Dd June 19, 2017 32.Dd June 9, 2018
33.Dt MAKE 1 33.Dt MAKE 1
34.Os 34.Os
35.Sh NAME 35.Sh NAME
36.Nm make 36.Nm make
37.Nd maintain program dependencies 37.Nd maintain program dependencies
38.Sh SYNOPSIS 38.Sh SYNOPSIS
39.Nm 39.Nm
40.Op Fl BeikNnqrstWwX 40.Op Fl BeikNnqrstWwX
41.Op Fl C Ar directory 41.Op Fl C Ar directory
42.Op Fl D Ar variable 42.Op Fl D Ar variable
43.Op Fl d Ar flags 43.Op Fl d Ar flags
44.Op Fl f Ar makefile 44.Op Fl f Ar makefile
45.Op Fl I Ar directory 45.Op Fl I Ar directory
@@ -1195,28 +1195,35 @@ all: @@ -1195,28 +1195,35 @@ all:
1195 @echo "${RANDOM_LIST}" 1195 @echo "${RANDOM_LIST}"
1196 @echo "${STATIC_RANDOM_LIST}" 1196 @echo "${STATIC_RANDOM_LIST}"
1197 @echo "${STATIC_RANDOM_LIST}" 1197 @echo "${STATIC_RANDOM_LIST}"
1198.Ed 1198.Ed
1199may produce output similar to: 1199may produce output similar to:
1200.Bd -literal -offset indent 1200.Bd -literal -offset indent
1201quattro due tre uno 1201quattro due tre uno
1202tre due quattro uno 1202tre due quattro uno
1203due uno quattro tre 1203due uno quattro tre
1204due uno quattro tre 1204due uno quattro tre
1205.Ed 1205.Ed
1206.It Cm \&:Q 1206.It Cm \&:Q
1207Quotes every shell meta-character in the variable, so that it can be passed 1207Quotes every shell meta-character in the variable, so that it can be passed
 1208safely to the shell.
 1209.It Cm \&:q
 1210Quotes every shell meta-character in the variable, and also doubles
 1211.Sq $
 1212characters so that it can be passed
1208safely through recursive invocations of 1213safely through recursive invocations of
1209.Nm . 1214.Nm .
 1215This is equivalent to:
 1216.Sq \&:S/\e\&$/&&/g:Q .
1210.It Cm \&:R 1217.It Cm \&:R
1211Replaces each word in the variable with everything but its suffix. 1218Replaces each word in the variable with everything but its suffix.
1212.It Cm \&:range[=count] 1219.It Cm \&:range[=count]
1213The value is an integer sequence representing the words of the original 1220The value is an integer sequence representing the words of the original
1214value, or the supplied 1221value, or the supplied
1215.Va count . 1222.Va count .
1216.It Cm \&:gmtime[=utc] 1223.It Cm \&:gmtime[=utc]
1217The value is a format string for 1224The value is a format string for
1218.Xr strftime 3 , 1225.Xr strftime 3 ,
1219using 1226using
1220.Xr gmtime 3 . 1227.Xr gmtime 3 .
1221If a 1228If a
1222.Va utc 1229.Va utc

cvs diff -r1.215.4.1 -r1.215.4.2 src/usr.bin/make/var.c (expand / switch to unified diff)

--- src/usr.bin/make/var.c 2018/06/07 15:59:27 1.215.4.1
+++ src/usr.bin/make/var.c 2018/06/09 15:35:38 1.215.4.2
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1/* $NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $ */ 1/* $NetBSD: var.c,v 1.215.4.2 2018/06/09 15:35:38 martin Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1988, 1989, 1990, 1993 4 * Copyright (c) 1988, 1989, 1990, 1993
5 * The Regents of the University of California. All rights reserved. 5 * The Regents of the University of California. All rights reserved.
6 * 6 *
7 * This code is derived from software contributed to Berkeley by 7 * This code is derived from software contributed to Berkeley by
8 * Adam de Boor. 8 * Adam de Boor.
9 * 9 *
10 * Redistribution and use in source and binary forms, with or without 10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions 11 * modification, are permitted provided that the following conditions
12 * are met: 12 * are met:
13 * 1. Redistributions of source code must retain the above copyright 13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer. 14 * notice, this list of conditions and the following disclaimer.
@@ -59,34 +59,34 @@ @@ -59,34 +59,34 @@
59 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 59 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
60 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 60 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
61 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 61 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
62 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 62 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
63 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 63 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
64 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 64 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
65 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 65 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
66 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 66 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
67 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 67 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
68 * SUCH DAMAGE. 68 * SUCH DAMAGE.
69 */ 69 */
70 70
71#ifndef MAKE_NATIVE 71#ifndef MAKE_NATIVE
72static char rcsid[] = "$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $"; 72static char rcsid[] = "$NetBSD: var.c,v 1.215.4.2 2018/06/09 15:35:38 martin Exp $";
73#else 73#else
74#include <sys/cdefs.h> 74#include <sys/cdefs.h>
75#ifndef lint 75#ifndef lint
76#if 0 76#if 0
77static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94"; 77static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94";
78#else 78#else
79__RCSID("$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $"); 79__RCSID("$NetBSD: var.c,v 1.215.4.2 2018/06/09 15:35:38 martin Exp $");
80#endif 80#endif
81#endif /* not lint */ 81#endif /* not lint */
82#endif 82#endif
83 83
84/*- 84/*-
85 * var.c -- 85 * var.c --
86 * Variable-handling functions 86 * Variable-handling functions
87 * 87 *
88 * Interface: 88 * Interface:
89 * Var_Set Set the value of a variable in the given 89 * Var_Set Set the value of a variable in the given
90 * context. The variable is created if it doesn't 90 * context. The variable is created if it doesn't
91 * yet exist. The value and variable name need not 91 * yet exist. The value and variable name need not
92 * be preserved. 92 * be preserved.
@@ -315,27 +315,27 @@ static Boolean VarNoMatch(GNode *, Var_P @@ -315,27 +315,27 @@ static Boolean VarNoMatch(GNode *, Var_P
315 char *, Boolean, Buffer *, void *); 315 char *, Boolean, Buffer *, void *);
316#ifndef NO_REGEX 316#ifndef NO_REGEX
317static void VarREError(int, regex_t *, const char *); 317static void VarREError(int, regex_t *, const char *);
318static Boolean VarRESubstitute(GNode *, Var_Parse_State *, 318static Boolean VarRESubstitute(GNode *, Var_Parse_State *,
319 char *, Boolean, Buffer *, void *); 319 char *, Boolean, Buffer *, void *);
320#endif 320#endif
321static Boolean VarSubstitute(GNode *, Var_Parse_State *, 321static Boolean VarSubstitute(GNode *, Var_Parse_State *,
322 char *, Boolean, Buffer *, void *); 322 char *, Boolean, Buffer *, void *);
323static Boolean VarLoopExpand(GNode *, Var_Parse_State *, 323static Boolean VarLoopExpand(GNode *, Var_Parse_State *,
324 char *, Boolean, Buffer *, void *); 324 char *, Boolean, Buffer *, void *);
325static char *VarGetPattern(GNode *, Var_Parse_State *, 325static char *VarGetPattern(GNode *, Var_Parse_State *,
326 int, const char **, int, int *, int *, 326 int, const char **, int, int *, int *,
327 VarPattern *); 327 VarPattern *);
328static char *VarQuote(char *); 328static char *VarQuote(char *, Boolean);
329static char *VarHash(char *); 329static char *VarHash(char *);
330static char *VarModify(GNode *, Var_Parse_State *, 330static char *VarModify(GNode *, Var_Parse_State *,
331 const char *, 331 const char *,
332 Boolean (*)(GNode *, Var_Parse_State *, char *, Boolean, Buffer *, void *), 332 Boolean (*)(GNode *, Var_Parse_State *, char *, Boolean, Buffer *, void *),
333 void *); 333 void *);
334static char *VarOrder(const char *, const char); 334static char *VarOrder(const char *, const char);
335static char *VarUniq(const char *); 335static char *VarUniq(const char *);
336static int VarWordCompare(const void *, const void *); 336static int VarWordCompare(const void *, const void *);
337static void VarPrintVar(void *); 337static void VarPrintVar(void *);
338 338
339#define BROPEN '{' 339#define BROPEN '{'
340#define BRCLOSE '}' 340#define BRCLOSE '}'
341#define PROPEN '(' 341#define PROPEN '('
@@ -2305,58 +2305,59 @@ VarGetPattern(GNode *ctxt, Var_Parse_Sta @@ -2305,58 +2305,59 @@ VarGetPattern(GNode *ctxt, Var_Parse_Sta
2305 2305
2306 *tstr = ++cp; 2306 *tstr = ++cp;
2307 *length = Buf_Size(&buf); 2307 *length = Buf_Size(&buf);
2308 rstr = Buf_Destroy(&buf, FALSE); 2308 rstr = Buf_Destroy(&buf, FALSE);
2309 if (DEBUG(VAR)) 2309 if (DEBUG(VAR))
2310 fprintf(debug_file, "Modifier pattern: \"%s\"\n", rstr); 2310 fprintf(debug_file, "Modifier pattern: \"%s\"\n", rstr);
2311 return rstr; 2311 return rstr;
2312} 2312}
2313 2313
2314/*- 2314/*-
2315 *----------------------------------------------------------------------- 2315 *-----------------------------------------------------------------------
2316 * VarQuote -- 2316 * VarQuote --
2317 * Quote shell meta-characters and space characters in the string 2317 * Quote shell meta-characters and space characters in the string
 2318 * if quoteDollar is set, also quote and double any '$' characters.
2318 * 2319 *
2319 * Results: 2320 * Results:
2320 * The quoted string 2321 * The quoted string
2321 * 2322 *
2322 * Side Effects: 2323 * Side Effects:
2323 * None. 2324 * None.
2324 * 2325 *
2325 *----------------------------------------------------------------------- 2326 *-----------------------------------------------------------------------
2326 */ 2327 */
2327static char * 2328static char *
2328VarQuote(char *str) 2329VarQuote(char *str, Boolean quoteDollar)
2329{ 2330{
2330 2331
2331 Buffer buf; 2332 Buffer buf;
2332 const char *newline; 2333 const char *newline;
2333 size_t nlen; 2334 size_t nlen;
2334 2335
2335 if ((newline = Shell_GetNewline()) == NULL) 2336 if ((newline = Shell_GetNewline()) == NULL)
2336 newline = "\\\n"; 2337 newline = "\\\n";
2337 nlen = strlen(newline); 2338 nlen = strlen(newline);
2338 2339
2339 Buf_Init(&buf, 0); 2340 Buf_Init(&buf, 0);
2340 2341
2341 for (; *str != '\0'; str++) { 2342 for (; *str != '\0'; str++) {
2342 if (*str == '\n') { 2343 if (*str == '\n') {
2343 Buf_AddBytes(&buf, nlen, newline); 2344 Buf_AddBytes(&buf, nlen, newline);
2344 continue; 2345 continue;
2345 } 2346 }
2346 if (isspace((unsigned char)*str) || ismeta((unsigned char)*str)) 2347 if (isspace((unsigned char)*str) || ismeta((unsigned char)*str))
2347 Buf_AddByte(&buf, '\\'); 2348 Buf_AddByte(&buf, '\\');
2348 Buf_AddByte(&buf, *str); 2349 Buf_AddByte(&buf, *str);
2349 if (*str == '$') 2350 if (quoteDollar && *str == '$')
2350 Buf_AddBytes(&buf, 2, "\\$"); 2351 Buf_AddBytes(&buf, 2, "\\$");
2351 } 2352 }
2352 2353
2353 str = Buf_Destroy(&buf, FALSE); 2354 str = Buf_Destroy(&buf, FALSE);
2354 if (DEBUG(VAR)) 2355 if (DEBUG(VAR))
2355 fprintf(debug_file, "QuoteMeta: [%s]\n", str); 2356 fprintf(debug_file, "QuoteMeta: [%s]\n", str);
2356 return str; 2357 return str;
2357} 2358}
2358 2359
2359/*- 2360/*-
2360 *----------------------------------------------------------------------- 2361 *-----------------------------------------------------------------------
2361 * VarHash -- 2362 * VarHash --
2362 * Hash the string using the MurmurHash3 algorithm. 2363 * Hash the string using the MurmurHash3 algorithm.
@@ -3477,29 +3478,30 @@ ApplyModifiers(char *nstr, const char *t @@ -3477,29 +3478,30 @@ ApplyModifiers(char *nstr, const char *t
3477 pattern.nsub = 10; 3478 pattern.nsub = 10;
3478 pattern.matches = bmake_malloc(pattern.nsub * 3479 pattern.matches = bmake_malloc(pattern.nsub *
3479 sizeof(regmatch_t)); 3480 sizeof(regmatch_t));
3480 newStr = VarModify(ctxt, &tmpparsestate, nstr, 3481 newStr = VarModify(ctxt, &tmpparsestate, nstr,
3481 VarRESubstitute, 3482 VarRESubstitute,
3482 &pattern); 3483 &pattern);
3483 regfree(&pattern.re); 3484 regfree(&pattern.re);
3484 free(pattern.replace); 3485 free(pattern.replace);
3485 free(pattern.matches); 3486 free(pattern.matches);
3486 delim = '\0'; 3487 delim = '\0';
3487 break; 3488 break;
3488 } 3489 }
3489#endif 3490#endif
 3491 case 'q':
3490 case 'Q': 3492 case 'Q':
3491 if (tstr[1] == endc || tstr[1] == ':') { 3493 if (tstr[1] == endc || tstr[1] == ':') {
3492 newStr = VarQuote(nstr); 3494 newStr = VarQuote(nstr, modifier == 'q');
3493 cp = tstr + 1; 3495 cp = tstr + 1;
3494 termc = *cp; 3496 termc = *cp;
3495 break; 3497 break;
3496 } 3498 }
3497 goto default_case; 3499 goto default_case;
3498 case 'T': 3500 case 'T':
3499 if (tstr[1] == endc || tstr[1] == ':') { 3501 if (tstr[1] == endc || tstr[1] == ':') {
3500 newStr = VarModify(ctxt, &parsestate, nstr, VarTail, 3502 newStr = VarModify(ctxt, &parsestate, nstr, VarTail,
3501 NULL); 3503 NULL);
3502 cp = tstr + 1; 3504 cp = tstr + 1;
3503 termc = *cp; 3505 termc = *cp;
3504 break; 3506 break;
3505 } 3507 }

cvs diff -r1.52 -r1.52.8.1 src/usr.bin/make/unit-tests/Makefile (expand / switch to unified diff)

--- src/usr.bin/make/unit-tests/Makefile 2015/05/05 21:51:09 1.52
+++ src/usr.bin/make/unit-tests/Makefile 2018/06/09 15:35:38 1.52.8.1
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile,v 1.52 2015/05/05 21:51:09 sjg Exp $ 1# $NetBSD: Makefile,v 1.52.8.1 2018/06/09 15:35:38 martin Exp $
2# 2#
3# Unit tests for make(1) 3# Unit tests for make(1)
4# The main targets are: 4# The main targets are:
5#  5#
6# all: run all the tests 6# all: run all the tests
7# test: run 'all', and compare to expected results 7# test: run 'all', and compare to expected results
8# accept: move generated output to expected results 8# accept: move generated output to expected results
9# 9#
10# Adding a test case.  10# Adding a test case.
11# Each feature should get its own set of tests in its own suitably 11# Each feature should get its own set of tests in its own suitably
12# named makefile (*.mk), with its own set of expected results (*.exp), 12# named makefile (*.mk), with its own set of expected results (*.exp),
13# and it should be added to the TESTNAMES list. 13# and it should be added to the TESTNAMES list.
14#  14#
@@ -40,26 +40,27 @@ TESTNAMES= \ @@ -40,26 +40,27 @@ TESTNAMES= \
40 modorder \ 40 modorder \
41 modts \ 41 modts \
42 modword \ 42 modword \
43 order \ 43 order \
44 posix \ 44 posix \
45 qequals \ 45 qequals \
46 sunshcmd \ 46 sunshcmd \
47 sysv \ 47 sysv \
48 ternary \ 48 ternary \
49 unexport \ 49 unexport \
50 unexport-env \ 50 unexport-env \
51 varcmd \ 51 varcmd \
52 varmisc \ 52 varmisc \
 53 varquote \
53 varshell 54 varshell
54 55
55# these tests were broken by referting POSIX chanegs 56# these tests were broken by referting POSIX chanegs
56STRICT_POSIX_TESTS = \ 57STRICT_POSIX_TESTS = \
57 escape \ 58 escape \
58 impsrc \ 59 impsrc \
59 phony-end \ 60 phony-end \
60 posix1 \ 61 posix1 \
61 suffixes 62 suffixes
62 63
63# Override make flags for certain tests 64# Override make flags for certain tests
64flags.doterror= 65flags.doterror=
65flags.order=-j1 66flags.order=-j1

File Added: src/usr.bin/make/unit-tests/Attic/varquote.exp
-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

File Added: src/usr.bin/make/unit-tests/Attic/varquote.mk
# $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