aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon J. Gerraty <sjg@FreeBSD.org>2017-11-01 23:16:32 +0000
committerSimon J. Gerraty <sjg@FreeBSD.org>2017-11-01 23:16:32 +0000
commitade1697bee1de85ba84665fc7f1c633c0bfc1faa (patch)
tree4e5eb116b9552d7e38555f8205c47f3fe07deb3e
parent56028c60f45b9c206f7a9b968fa2bd0af5619581 (diff)
downloadsrc-ade1697bee1de85ba84665fc7f1c633c0bfc1faa.tar.gz
src-ade1697bee1de85ba84665fc7f1c633c0bfc1faa.zip
Import bmake-20171028vendor/NetBSD/bmake/20171028
From ChangeLog 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> * VERSION: 20171028 Merge with NetBSD make, pick up o main.c: ignore empty MAKEOBJDIR * Makefile.config.in: make @prefix@ @machine*@ and @default_sys_path@ defaults. 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> * VERSION: 20171005 * unit-tests/dotwait.mk: redirect stderr through pipe for more consistent result on some platforms. 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> * machine.sh: entry for AIX 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION to a file that can be included by configure as well as make. This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile (_MAKE_VERSION): 20170810 Merge with NetBSD make, pick up o meta.c: if target is in subdir we only need subdir name in meta_name.
Notes
Notes: svn path=/vendor/NetBSD/bmake/dist/; revision=325300 svn path=/vendor/NetBSD/bmake/20171028/; revision=325301; tag=vendor/NetBSD/bmake/20171028
-rw-r--r--ChangeLog33
-rw-r--r--FILES1
-rw-r--r--Makefile13
-rw-r--r--Makefile.config.in11
-rw-r--r--VERSION2
-rw-r--r--bsd.after-import.mk3
-rwxr-xr-xconfigure22
-rw-r--r--configure.in8
-rwxr-xr-xmachine.sh8
-rw-r--r--main.c9
-rwxr-xr-xmake-bootstrap.sh.in2
-rw-r--r--meta.c13
-rw-r--r--mk/ChangeLog18
-rw-r--r--mk/autoconf.mk10
-rw-r--r--mk/dirdeps.mk8
-rw-r--r--mk/dpadd.mk4
-rw-r--r--mk/gendirdeps.mk4
-rw-r--r--mk/install-mk4
-rw-r--r--mk/meta.autodep.mk4
-rw-r--r--mk/meta.stage.mk6
-rw-r--r--mk/sys.clean-env.mk4
-rw-r--r--mk/whats.mk9
-rwxr-xr-xos.sh4
-rw-r--r--unit-tests/dotwait.exp4
-rw-r--r--unit-tests/dotwait.mk4
25 files changed, 148 insertions, 60 deletions
diff --git a/ChangeLog b/ChangeLog
index c15589c284ad..36476d8ccdd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,36 @@
+2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * VERSION: 20171028
+ Merge with NetBSD make, pick up
+ o main.c: ignore empty MAKEOBJDIR
+
+ * Makefile.config.in:
+ make @prefix@ @machine*@ and @default_sys_path@ defaults.
+
+2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * VERSION: 20171005
+
+ * unit-tests/dotwait.mk: redirect stderr through pipe for more
+ consistent result on some platforms.
+
+2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * machine.sh: entry for AIX
+
+2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
+ to a file that can be included by configure as well as make.
+ This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
+
+2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * Makefile (_MAKE_VERSION): 20170810
+ Merge with NetBSD make, pick up
+ o meta.c: if target is in subdir we only need subdir name in
+ meta_name.
+
2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile (_MAKE_VERSION): 20170720
diff --git a/FILES b/FILES
index 720eb1b9bfb7..24cd0451f077 100644
--- a/FILES
+++ b/FILES
@@ -5,6 +5,7 @@ Makefile.config.in
PSD.doc/Makefile
PSD.doc/tutorial.ms
README
+VERSION
aclocal.m4
arch.c
bmake.1
diff --git a/Makefile b/Makefile
index f0b94966ab07..28d8bf713a00 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,4 @@
-# $Id: Makefile,v 1.95 2017/07/20 19:36:13 sjg Exp $
-
-# Base version on src date
-_MAKE_VERSION= 20170720
+# $Id: Makefile,v 1.99 2017/08/13 20:12:53 sjg Exp $
PROG= bmake
@@ -58,6 +55,8 @@ SRCS+= \
lstReplace.c \
lstSucc.c
+.-include "VERSION"
+
# this file gets generated by configure
.-include "Makefile.config"
@@ -192,11 +191,13 @@ MANDIR= ${MANDIR.bmake:U${SHAREDIR}/man}
${OBJS}: config.h
.endif
+# start-delete2 for bsd.after-import.mk
+
# make sure that MAKE_VERSION gets updated.
-main.o: ${SRCS} ${MAKEFILE}
+main.o: ${SRCS} ${.CURDIR}/VERSION
-# start-delete2 for bsd.after-import.mk
.if ${MK_AUTOCONF_MK} == "yes"
+CONFIGURE_DEPS += ${.CURDIR}/VERSION
.include <autoconf.mk>
.endif
SHARE_MK?=${SHAREDIR}/mk
diff --git a/Makefile.config.in b/Makefile.config.in
index 1f9aefe1dfad..7b417cef2604 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -1,11 +1,13 @@
# things set by configure
-prefix= @prefix@
+_MAKE_VERSION=@_MAKE_VERSION@
+
+prefix?= @prefix@
srcdir= @srcdir@
CC?= @CC@
-MACHINE= @machine@
-MACHINE_ARCH= @machine_arch@
-DEFAULT_SYS_PATH= @default_sys_path@
+MACHINE?= @machine@
+MACHINE_ARCH?= @machine_arch@
+DEFAULT_SYS_PATH?= @default_sys_path@
CPPFLAGS+= @CPPFLAGS@
CFLAGS+= ${CPPFLAGS} @DEFS@
@@ -17,4 +19,3 @@ FILEMON_H= @filemon_h@
BMAKE_PATH_MAX?= @bmake_path_max@
# used if MAXPATHLEN not defined
CPPFLAGS+= -DBMAKE_PATH_MAX=${BMAKE_PATH_MAX}
-
diff --git a/VERSION b/VERSION
new file mode 100644
index 000000000000..5117e28f593c
--- /dev/null
+++ b/VERSION
@@ -0,0 +1,2 @@
+# keep this compatible with sh and make
+_MAKE_VERSION=20171028
diff --git a/bsd.after-import.mk b/bsd.after-import.mk
index 9a65096a9597..275b443b657d 100644
--- a/bsd.after-import.mk
+++ b/bsd.after-import.mk
@@ -1,4 +1,4 @@
-# $Id: bsd.after-import.mk,v 1.12 2014/02/14 23:45:49 sjg Exp $
+# $Id: bsd.after-import.mk,v 1.13 2017/08/13 00:56:10 sjg Exp $
# This makefile is for use when integrating bmake into a BSD build
# system. Use this makefile after importing bmake.
@@ -56,6 +56,7 @@ bootstrap: ${BMAKE_SRC}/boot-strap ${MAKEFILE}
# Makefiles need a little more tweaking than say config.h
MAKEFILE_SED = sed -e '/^MACHINE/d' \
+ -e '/include.*VERSION/d' \
-e '/^PROG/ { s,=,?=,;s,bmake,$${.CURDIR:T},; }' \
-e 's,^.-include,.sinclude,' \
-e '/^\..*include *</ { s,<,<bsd.,;/autoconf/d; }' \
diff --git a/configure b/configure
index 1a70f3d1bf3e..ce79403c5df1 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for bmake 20160606.
+# Generated by GNU Autoconf 2.64 for bmake 20170812.
#
# Report bugs to <sjg@NetBSD.org>.
#
@@ -549,8 +549,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bmake'
PACKAGE_TARNAME='bmake'
-PACKAGE_VERSION='20160606'
-PACKAGE_STRING='bmake 20160606'
+PACKAGE_VERSION='20170812'
+PACKAGE_STRING='bmake 20170812'
PACKAGE_BUGREPORT='sjg@NetBSD.org'
PACKAGE_URL=''
@@ -591,6 +591,7 @@ ac_includes_default="\
#endif"
ac_subst_vars='LTLIBOBJS
+_MAKE_VERSION
filemon_h
use_meta
diff_u
@@ -1221,7 +1222,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures bmake 20160606 to adapt to many kinds of systems.
+\`configure' configures bmake 20170812 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1282,7 +1283,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bmake 20160606:";;
+ short | recursive ) echo "Configuration of bmake 20170812:";;
esac
cat <<\_ACEOF
@@ -1387,7 +1388,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bmake configure 20160606
+bmake configure 20170812
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1960,7 +1961,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by bmake $as_me 20160606, which was
+It was created by bmake $as_me 20170812, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -2315,6 +2316,8 @@ case "$srcdir" in
*) srcdir=`cd $srcdir && pwd`;;
esac
+. $srcdir/VERSION
+
# Check whether --with-defshell was given.
if test "${with_defshell+set}" = set; then :
@@ -6005,6 +6008,7 @@ fi
+
ac_config_files="$ac_config_files makefile Makefile.config make-bootstrap.sh unit-tests/Makefile"
cat >confcache <<\_ACEOF
@@ -6513,7 +6517,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by bmake $as_me 20160606, which was
+This file was extended by bmake $as_me 20170812, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6573,7 +6577,7 @@ Report bugs to <sjg@NetBSD.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-bmake config.status 20160606
+bmake config.status 20170812
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.in b/configure.in
index 29d368b2ed29..aed426ef8ede 100644
--- a/configure.in
+++ b/configure.in
@@ -1,11 +1,11 @@
dnl
dnl RCSid:
-dnl $Id: configure.in,v 1.57 2016/06/07 00:49:44 sjg Exp $
+dnl $Id: configure.in,v 1.58 2017/08/13 00:56:10 sjg Exp $
dnl
dnl Process this file with autoconf to produce a configure script
dnl
AC_PREREQ(2.50)
-AC_INIT([bmake], [20160606], [sjg@NetBSD.org])
+AC_INIT([bmake], [20170812], [sjg@NetBSD.org])
AC_CONFIG_HEADERS(config.h)
dnl make srcdir absolute
@@ -14,6 +14,9 @@ case "$srcdir" in
*) srcdir=`cd $srcdir && pwd`;;
esac
+dnl get _MAKE_VERSION
+. $srcdir/VERSION
+
dnl
AC_ARG_WITH(defshell,
[ --with-defshell=SHELL use SHELL by default - must be sh compatible, use sh or ksh to pick the internal definitions],
@@ -386,6 +389,7 @@ AC_SUBST(GCC)
AC_SUBST(diff_u)
AC_SUBST(use_meta)
AC_SUBST(filemon_h)
+AC_SUBST(_MAKE_VERSION)
AC_OUTPUT(makefile Makefile.config make-bootstrap.sh unit-tests/Makefile)
cat <<EOF
diff --git a/machine.sh b/machine.sh
index 2209eaa884bf..0cf9daeeef3a 100755
--- a/machine.sh
+++ b/machine.sh
@@ -2,7 +2,7 @@
# derrived from /etc/rc_d/os.sh
# RCSid:
-# $Id: machine.sh,v 1.17 2015/05/05 00:10:54 sjg Exp $
+# $Id: machine.sh,v 1.18 2017/08/13 19:11:28 sjg Exp $
#
# @(#) Copyright (c) 1994-2002 Simon J. Gerraty
#
@@ -44,6 +44,12 @@ Which() {
}
case $OS in
+AIX) # from http://gnats.netbsd.org/29386
+ OSMAJOR=`uname -v`
+ OSMINOR=`uname -r`
+ MACHINE=$OS$OSMAJOR.$OSMINOR
+ MACHINE_ARCH=`bootinfo -T`
+ ;;
OpenBSD)
MACHINE=$OS$OSMAJOR.$machine
arch=`Which arch /usr/bin:/usr/ucb:$PATH`
diff --git a/main.c b/main.c
index cca44c5b4648..7dd4c504f122 100644
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.272 2017/06/19 19:58:24 christos Exp $ */
+/* $NetBSD: main.c,v 1.273 2017/10/28 21:54:54 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.272 2017/06/19 19:58:24 christos Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.273 2017/10/28 21:54:54 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
@@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\
#if 0
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: main.c,v 1.272 2017/06/19 19:58:24 christos Exp $");
+__RCSID("$NetBSD: main.c,v 1.273 2017/10/28 21:54:54 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -792,7 +792,8 @@ Main_SetVarObjdir(const char *var, const char *suffix)
{
char *p, *path, *xpath;
- if ((path = Var_Value(var, VAR_CMD, &p)) == NULL)
+ if ((path = Var_Value(var, VAR_CMD, &p)) == NULL ||
+ *path == '\0')
return FALSE;
/* expand variable substitutions */
diff --git a/make-bootstrap.sh.in b/make-bootstrap.sh.in
index 83336b47d5af..a39427284586 100755
--- a/make-bootstrap.sh.in
+++ b/make-bootstrap.sh.in
@@ -13,7 +13,7 @@ esac
CC="@CC@"
CFLAGS="@CFLAGS@ -I. -I${srcdir} @DEFS@ @CPPFLAGS@ -DMAKE_NATIVE ${XDEFS} -DBMAKE_PATH_MAX=@bmake_path_max@"
-MAKE_VERSION=`sed -n '/^_MAKE_VERSION=/s,.*=[^0-9]*,,p' $srcdir/Makefile`
+MAKE_VERSION=@_MAKE_VERSION@
MDEFS="-DMAKE_VERSION=\"$MAKE_VERSION\" \
-D@force_machine@MACHINE=\"@machine@\" -DMACHINE_ARCH=\"@machine_arch@\" \
diff --git a/meta.c b/meta.c
index b8ddfb0b5e1b..4be13b5d0a97 100644
--- a/meta.c
+++ b/meta.c
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.c,v 1.68 2017/07/09 04:54:00 sjg Exp $ */
+/* $NetBSD: meta.c,v 1.69 2017/08/10 21:07:48 sjg Exp $ */
/*
* Implement 'meta' mode.
@@ -250,6 +250,8 @@ meta_name(char *mname, size_t mnamelen,
char *rp;
char *cp;
char *tp;
+ char *dtp;
+ size_t ldname;
/*
* Weed out relative paths from the target file name.
@@ -286,10 +288,15 @@ meta_name(char *mname, size_t mnamelen,
}
/* on some systems dirname may modify its arg */
tp = bmake_strdup(tname);
- if (strcmp(dname, dirname(tp)) == 0)
+ dtp = dirname(tp);
+ if (strcmp(dname, dtp) == 0)
snprintf(mname, mnamelen, "%s.meta", tname);
else {
- snprintf(mname, mnamelen, "%s/%s.meta", dname, tname);
+ ldname = strlen(dname);
+ if (strncmp(dname, dtp, ldname) == 0 && dtp[ldname] == '/')
+ snprintf(mname, mnamelen, "%s/%s.meta", dname, &tname[ldname+1]);
+ else
+ snprintf(mname, mnamelen, "%s/%s.meta", dname, tname);
/*
* Replace path separators in the file name after the
diff --git a/mk/ChangeLog b/mk/ChangeLog
index 179d191e9008..cd473d8d07cc 100644
--- a/mk/ChangeLog
+++ b/mk/ChangeLog
@@ -1,3 +1,21 @@
+2017-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * Allow for host32 on rare occasions.
+
+2017-10-18 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * install-mk (MK_VERSION): 20171018
+
+ * whats.mk: include what_thing in what_uuid to avoid problem
+ when building multiple apps in the same directory.
+
+2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
+
+ * install-mk (MK_VERSION): 20170812
+
+ * autoconf.mk: Use CONFIGURE_DEPS so Makefile can
+ add dependencies for config.recheck and config.gen
+
2017-06-30 Simon J. Gerraty <sjg@bad.crufty.net>
* install-mk (MK_VERSION): 20170630
diff --git a/mk/autoconf.mk b/mk/autoconf.mk
index 573a7159957b..38f4ece48ad6 100644
--- a/mk/autoconf.mk
+++ b/mk/autoconf.mk
@@ -1,4 +1,4 @@
-# $Id: autoconf.mk,v 1.8 2012/11/19 05:37:48 sjg Exp $
+# $Id: autoconf.mk,v 1.9 2017/08/13 20:03:13 sjg Exp $
#
# @(#) Copyright (c) 1996-2009, Simon J. Gerraty
#
@@ -15,8 +15,10 @@
.NOPATH: config.h config.status
+CONFIGURE_DEPS += ${.CURDIR}/config.h.in ${.CURDIR}/configure
+
.if !target(config.h)
-config.h: ${.CURDIR}/config.h.in config.status
+config.h: ${CONFIGURE_DEPS} config.status
./config.status
.endif
@@ -28,11 +30,11 @@ config.status: config.recheck
config.status: config.gen
.endif
-config.recheck: config.h.in ${.CURDIR}/configure
+config.recheck: ${CONFIGURE_DEPS}
./config.status --recheck
@touch $@
-config.gen: config.h.in ${.CURDIR}/configure
+config.gen: ${CONFIGURE_DEPS}
CC="${CC} ${CCMODE}" ${.CURDIR}/configure --no-create ${CONFIGURE_ARGS}
@touch $@ config.recheck
diff --git a/mk/dirdeps.mk b/mk/dirdeps.mk
index 1ae0fbb635ab..2ff875770660 100644
--- a/mk/dirdeps.mk
+++ b/mk/dirdeps.mk
@@ -1,4 +1,4 @@
-# $Id: dirdeps.mk,v 1.89 2017/05/17 17:41:47 sjg Exp $
+# $Id: dirdeps.mk,v 1.90 2017/10/25 23:44:20 sjg Exp $
# Copyright (c) 2010-2013, Juniper Networks, Inc.
# All rights reserved.
@@ -536,10 +536,14 @@ _machines := ${DEP_MACHINE}
# this is the machine list we actually use below
_machines := ${_only_machines}
-.if defined(HOSTPROG) || ${DEP_MACHINE} == "host"
+.if defined(HOSTPROG) || ${DEP_MACHINE:Nhost*} == ""
# we need to build this guy's dependencies for host as well.
+.if ${DEP_MACHINE:Nhost*} == ""
+_machines += ${DEP_MACHINE}
+.else
_machines += host
.endif
+.endif
_machines := ${_machines:O:u}
.endif
diff --git a/mk/dpadd.mk b/mk/dpadd.mk
index 650d61bf9a80..731b915e604f 100644
--- a/mk/dpadd.mk
+++ b/mk/dpadd.mk
@@ -1,4 +1,4 @@
-# $Id: dpadd.mk,v 1.23 2017/02/13 16:46:01 sjg Exp $
+# $Id: dpadd.mk,v 1.24 2017/10/25 23:44:20 sjg Exp $
#
# @(#) Copyright (c) 2004, Simon J. Gerraty
#
@@ -195,7 +195,7 @@ __dpadd_incs += ${__dpadd_libs:O:u:@s@${SRC_LIBS_${s:T:R}:U}@:@x@${INCLUDES_${x:
__dpadd_last_incs += ${__dpadd_libs:u:@x@${INCLUDES_LAST_${x:T:R}}@}
__dpadd_last_incs += ${__dpadd_libs:O:u:@s@${SRC_LIBS_${s:T:R}:U}@:@x@${INCLUDES_LAST_${x:T:R}}@}
-.if defined(HOSTPROG) || ${MACHINE} == "host"
+.if defined(HOSTPROG) || ${MACHINE:Nhost*} == ""
# we want any -I/usr/* last
__dpadd_last_incs := \
${__dpadd_last_incs:N-I/usr/*} \
diff --git a/mk/gendirdeps.mk b/mk/gendirdeps.mk
index 9ac7dcdba644..66158c411ad9 100644
--- a/mk/gendirdeps.mk
+++ b/mk/gendirdeps.mk
@@ -1,4 +1,4 @@
-# $Id: gendirdeps.mk,v 1.33 2016/10/11 22:37:28 sjg Exp $
+# $Id: gendirdeps.mk,v 1.34 2017/10/26 00:46:26 sjg Exp $
# Copyright (c) 2010-2013, Juniper Networks, Inc.
# All rights reserved.
@@ -194,7 +194,7 @@ dpadd_dir_list += ${f:H:tA}
.endfor
.if !empty(ddep_list)
ddeps != cat ${ddep_list:O:u} | ${META2DEPS_FILTER} ${_skip_gendirdeps} \
- sed 's,//*$$,,;s,\.${HOST_TARGET}$$,.host,;s,\.${MACHINE}$$,,'
+ sed 's,//*$$,,;s,\.${HOST_TARGET:Uhost}$$,.host,;s,\.${HOST_TARGET32:Uhost32}$$,.host32,;s,\.${MACHINE}$$,,'
.if ${DEBUG_GENDIRDEPS:Uno:@x@${RELDIR:M$x}@} != ""
.info ${RELDIR}: raw_dir_list='${dir_list}'
diff --git a/mk/install-mk b/mk/install-mk
index 0950b109a276..15486a10ce4d 100644
--- a/mk/install-mk
+++ b/mk/install-mk
@@ -55,7 +55,7 @@
# Simon J. Gerraty <sjg@crufty.net>
# RCSid:
-# $Id: install-mk,v 1.148 2017/06/30 23:46:15 sjg Exp $
+# $Id: install-mk,v 1.150 2017/10/19 03:50:51 sjg Exp $
#
# @(#) Copyright (c) 1994 Simon J. Gerraty
#
@@ -70,7 +70,7 @@
# sjg@crufty.net
#
-MK_VERSION=20170630
+MK_VERSION=20171018
OWNER=
GROUP=
MODE=444
diff --git a/mk/meta.autodep.mk b/mk/meta.autodep.mk
index 06fa98c6a5a7..10f9ca307762 100644
--- a/mk/meta.autodep.mk
+++ b/mk/meta.autodep.mk
@@ -1,4 +1,4 @@
-# $Id: meta.autodep.mk,v 1.45 2016/06/03 17:22:32 sjg Exp $
+# $Id: meta.autodep.mk,v 1.46 2017/10/25 23:44:20 sjg Exp $
#
# @(#) Copyright (c) 2010, Simon J. Gerraty
@@ -261,7 +261,7 @@ META_FILES = ${.MAKE.META.FILES:T:N.depend*:N*o.meta:O:u} \
_makesyspath:= ${_PARSEDIR}
${_DEPENDFILE}: ${_depend} ${.PARSEDIR}/gendirdeps.mk ${META2DEPS} $${.MAKE.META.CREATED}
@echo Checking $@: ${.OODATE:T:[1..8]}
- @(cd . && \
+ @(cd . && ${GENDIRDEPS_ENV} \
SKIP_GENDIRDEPS='${SKIP_GENDIRDEPS:O:u}' \
DPADD='${FORCE_DPADD:O:u}' ${_gendirdeps_mutex} \
MAKESYSPATH=${_makesyspath} \
diff --git a/mk/meta.stage.mk b/mk/meta.stage.mk
index 03906a8d7507..5c54f81fb378 100644
--- a/mk/meta.stage.mk
+++ b/mk/meta.stage.mk
@@ -1,4 +1,4 @@
-# $Id: meta.stage.mk,v 1.54 2017/07/06 23:20:33 sjg Exp $
+# $Id: meta.stage.mk,v 1.55 2017/10/27 01:17:09 sjg Exp $
#
# @(#) Copyright (c) 2011-2017, Simon J. Gerraty
#
@@ -20,9 +20,9 @@
.if ${.MAKE.DEPENDFILE_PREFERENCE:U${.MAKE.DEPENDFILE}:M*.${MACHINE}} != ""
# this is generally safer anyway
-_dirdep = ${RELDIR}.${MACHINE}
+_dirdep ?= ${RELDIR}.${MACHINE}
.else
-_dirdep = ${RELDIR}
+_dirdep ?= ${RELDIR}
.endif
CLEANFILES+= .dirdep
diff --git a/mk/sys.clean-env.mk b/mk/sys.clean-env.mk
index 396599bd7832..5ac74bba9342 100644
--- a/mk/sys.clean-env.mk
+++ b/mk/sys.clean-env.mk
@@ -1,4 +1,4 @@
-# $Id: sys.clean-env.mk,v 1.21 2016/02/18 21:16:40 sjg Exp $
+# $Id: sys.clean-env.mk,v 1.22 2017/10/25 23:44:20 sjg Exp $
#
# @(#) Copyright (c) 2009, Simon J. Gerraty
#
@@ -97,7 +97,7 @@ _objroot := ${OBJROOT:U${SB_OBJROOT:U${SB}/${SB_OBJPREFIX}}}
.if ${MAKE_VERSION} < 20160218
_objtop := ${OBJTOP:U${_objroot}${MACHINE}}
# Take care of ${MACHINE}
-.if ${MACHINE} == "host" || ${OBJTOP} == ${HOST_OBJTOP:Uno}
+.if ${MACHINE:Nhost*} == "" || ${OBJTOP} == ${HOST_OBJTOP:Uno}
OBJTOP = ${_objtop:S,${HOST_TARGET}$,\${MACHINE},}
.else
OBJTOP = ${_objtop:S,${MACHINE}$,\${MACHINE},}
diff --git a/mk/whats.mk b/mk/whats.mk
index d17c3ef290ea..4080c12e00f8 100644
--- a/mk/whats.mk
+++ b/mk/whats.mk
@@ -1,4 +1,4 @@
-# $Id: whats.mk,v 1.1 2014/08/30 22:40:47 sjg Exp $
+# $Id: whats.mk,v 1.3 2017/10/19 06:09:14 sjg Exp $
#
# @(#) Copyright (c) 2014, Simon J. Gerraty
#
@@ -36,7 +36,8 @@ what_build_thing?= ${KMOD}.ko
.if !empty(what_thing)
# a unique name that won't conflict with anything
-what_uuid = what_${.CURDIR:T:hash}
+what_uuid = what_${what_thing}_${.CURDIR:T:hash}
+what_var = what_${.CURDIR:T:hash}
.if !empty(what_build_thing)
${what_build_thing}: ${what_build_exts:@e@${what_uuid}.$e@}
@@ -57,7 +58,7 @@ _what1:= @(\#)${what_thing:tu} built ${%Y%m%d:L:localtime} by ${USER}
_what2:= @(\#)${what_location}
${what_uuid}.c:
- echo '${_what_t} ${what_uuid}1[] = "${_what1}";' > $@ ${.OODATE:MNO_META_CMP}
- echo '${_what_t} ${what_uuid}2[] = "${_what2}";' >> $@
+ echo '${_what_t} ${what_var}1[] = "${_what1}";' > $@ ${.OODATE:MNO_META_CMP}
+ echo '${_what_t} ${what_var}2[] = "${_what2}";' >> $@
.endif
.endif
diff --git a/os.sh b/os.sh
index 8468ba1b3e7d..5815ea2874fb 100755
--- a/os.sh
+++ b/os.sh
@@ -17,7 +17,7 @@
# Simon J. Gerraty <sjg@crufty.net>
# RCSid:
-# $Id: os.sh,v 1.53 2017/01/11 20:01:09 sjg Exp $
+# $Id: os.sh,v 1.54 2017/09/08 06:17:22 sjg Exp $
#
# @(#) Copyright (c) 1994 Simon J. Gerraty
#
@@ -246,5 +246,7 @@ case /$0 in
echo "$v='$vv'"
done
;;
+*/host_target32) echo $HOST_TARGET32;;
+*/host_target) echo $HOST_TARGET;;
esac
diff --git a/unit-tests/dotwait.exp b/unit-tests/dotwait.exp
index 6bf96e301c19..bdc0a0eb1504 100644
--- a/unit-tests/dotwait.exp
+++ b/unit-tests/dotwait.exp
@@ -22,9 +22,9 @@ shared.2.1
shared.2.1
shared.2.99
shared.2.99
+cycle.1.99
+cycle.1.99
make: Graph cycles through `cycle.2.99'
make: Graph cycles through `cycle.2.98'
make: Graph cycles through `cycle.2.97'
-cycle.1.99
-cycle.1.99
exit status 0
diff --git a/unit-tests/dotwait.mk b/unit-tests/dotwait.mk
index 9bdaaba399d1..bab5993e7481 100644
--- a/unit-tests/dotwait.mk
+++ b/unit-tests/dotwait.mk
@@ -1,4 +1,4 @@
-# $NetBSD: dotwait.mk,v 1.1 2014/08/21 13:44:51 apb Exp $
+# $NetBSD: dotwait.mk,v 1.2 2017/10/08 20:44:19 sjg Exp $
THISMAKEFILE:= ${.PARSEDIR}/${.PARSEFILE}
@@ -11,7 +11,7 @@ PAUSE= sleep 1
# Ignore "--- target ---" lines printed by parallel make.
all:
.for t in ${TESTS}
- @${.MAKE} -f ${THISMAKEFILE} -j4 $t | grep -v "^--- "
+ @${.MAKE} -f ${THISMAKEFILE} -j4 $t 2>&1 | grep -v "^--- "
.endfor
#