svn commit: r268437 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/mk/sys usr.bin/bmake

Simon J. Gerraty sjg at FreeBSD.org
Tue Jul 8 22:27:56 UTC 2014


Author: sjg
Date: Tue Jul  8 22:27:50 2014
New Revision: 268437
URL: http://svnweb.freebsd.org/changeset/base/268437

Log:
  Update to bmake-20140620
  Main change is detection of malformed variable references.
  
  Reviewed by:	obrien

Modified:
  head/contrib/bmake/ChangeLog
  head/contrib/bmake/Makefile
  head/contrib/bmake/README
  head/contrib/bmake/bmake.1
  head/contrib/bmake/bmake.cat1
  head/contrib/bmake/boot-strap
  head/contrib/bmake/bsd.after-import.mk
  head/contrib/bmake/config.h.in
  head/contrib/bmake/configure
  head/contrib/bmake/configure.in
  head/contrib/bmake/main.c
  head/contrib/bmake/make.1
  head/contrib/bmake/mk/ChangeLog
  head/contrib/bmake/mk/autodep.mk
  head/contrib/bmake/mk/dirdeps.mk
  head/contrib/bmake/mk/dpadd.mk
  head/contrib/bmake/mk/gendirdeps.mk
  head/contrib/bmake/mk/host-target.mk
  head/contrib/bmake/mk/install-mk
  head/contrib/bmake/mk/lib.mk
  head/contrib/bmake/mk/meta.autodep.mk
  head/contrib/bmake/mk/meta2deps.py
  head/contrib/bmake/mk/meta2deps.sh
  head/contrib/bmake/mk/options.mk
  head/contrib/bmake/mk/rst2htm.mk
  head/contrib/bmake/mk/sys.mk
  head/contrib/bmake/mk/sys/SunOS.mk
  head/contrib/bmake/mk/target-flags.mk
  head/contrib/bmake/mk/warnings.mk
  head/contrib/bmake/os.sh
  head/contrib/bmake/parse.c
  head/contrib/bmake/str.c
  head/contrib/bmake/var.c
  head/usr.bin/bmake/Makefile
  head/usr.bin/bmake/config.h
Directory Properties:
  head/contrib/bmake/   (props changed)

Modified: head/contrib/bmake/ChangeLog
==============================================================================
--- head/contrib/bmake/ChangeLog	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/ChangeLog	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,3 +1,28 @@
+2014-06-20  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* Makefile (MAKE_VERSION): 20140620
+	  Merge with NetBSD make, pick up
+	  o var.c return varNoError rather than var_Error for ::= modidiers.
+
+2014-05-22  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* Makefile (MAKE_VERSION): 20140522
+	  Merge with NetBSD make, pick up
+	  o var.c detect some parse errors.
+
+2014-04-05  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* Fix spelling errors - patch from Pedro Giffuni
+
+2014-02-14  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* Makefile (MAKE_VERSION): 20140214
+	  Merge with NetBSD make, pick up
+	  o .INCLUDEFROM*
+	  o use Var_Value to get MAKEOBJDIR[PREFIX]
+	  o reduced realloc'ign in brk_string.
+	* configure.in: add a check for compiler supporting __func__
+
 2014-01-03  Simon J. Gerraty  <sjg at bad.crufty.net>
 
 	* boot-strap: ignore mksrc=none
@@ -64,7 +89,7 @@
 
 	* Makefile (MAKE_VERSION): 20130716
 	  Merge with NetBSD make, pick up
-	  o number of gmake compatability tweaks
+	  o number of gmake compatibility tweaks
 	    -w for gmake style entering/leaving messages
 	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
 	    handle MAKEFLAGS containing only letters.

Modified: head/contrib/bmake/Makefile
==============================================================================
--- head/contrib/bmake/Makefile	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/Makefile	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,7 +1,7 @@
-#	$Id: Makefile,v 1.23 2014/01/02 22:20:52 sjg Exp $
+#	$Id: Makefile,v 1.27 2014/06/20 14:51:54 sjg Exp $
 
 # Base version on src date
-MAKE_VERSION= 20140101
+MAKE_VERSION= 20140620
 
 PROG=	bmake
 
@@ -117,7 +117,7 @@ MANTARGET?= man
 # turn this on by default - ignored if we are root
 WITH_INSTALL_AS_USER=
 
-# supress with -DWITHOUT_*
+# suppress with -DWITHOUT_*
 OPTIONS_DEFAULT_YES+= \
 	AUTOCONF_MK \
 	INSTALL_MK \

Modified: head/contrib/bmake/README
==============================================================================
--- head/contrib/bmake/README	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/README	Tue Jul  8 22:27:50 2014	(r268437)
@@ -18,7 +18,7 @@ interesting changes, so that bmake track
 
 Building:
 
-The prefered way to bootstrap bmake is:
+The preferred way to bootstrap bmake is:
 
 ./bmake/boot-strap
 

Modified: head/contrib/bmake/bmake.1
==============================================================================
--- head/contrib/bmake/bmake.1	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/bmake.1	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-.\"	$NetBSD: make.1,v 1.226 2013/11/07 18:50:46 dholland Exp $
+.\"	$NetBSD: make.1,v 1.229 2014/01/19 10:23:29 apb 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 October 25, 2013
+.Dd February 14, 2014
 .Dt MAKE 1
 .Os
 .Sh NAME
@@ -706,6 +706,10 @@ was executed.
 Refer to the description of
 .Ql Ev PWD
 for more details.
+.It Va .INCLUDEDFROMDIR
+The directory of the file this Makefile was included from.
+.It Va .INCLUDEDFROMFILE
+The filename of the file this Makefile was included from.
 .It Ev MAKE
 The name that
 .Nm
@@ -1246,6 +1250,15 @@ and
 are orthogonal; the former specifies whether multiple words are
 potentially affected, the latter whether multiple substitutions can
 potentially occur within each affected word.
+.Pp
+As for the
+.Cm \&:S
+modifier, the
+.Ar pattern
+and
+.Ar replacement
+are subjected to variable expansion before being parsed as
+regular expressions.
 .It Cm \&:T
 Replaces each word in the variable with its last component.
 .It Cm \&:u

Modified: head/contrib/bmake/bmake.cat1
==============================================================================
--- head/contrib/bmake/bmake.cat1	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/bmake.cat1	Tue Jul  8 22:27:50 2014	(r268437)
@@ -450,6 +450,13 @@ VVAARRIIAABBLLEE AASSSSIIGG
      _._C_U_R_D_I_R         A path to the directory where bbmmaakkee was executed.  Refer
                      to the description of `PWD' for more details.
 
+     _._I_N_C_L_U_D_E_D_F_R_O_M_D_I_R
+                     The directory of the file this Makefile was included
+                     from.
+
+     _._I_N_C_L_U_D_E_D_F_R_O_M_F_I_L_E
+                     The filename of the file this Makefile was included from.
+
      MAKE            The name that bbmmaakkee was executed with (_a_r_g_v_[_0_]).  For
                      compatibility bbmmaakkee also sets _._M_A_K_E with the same value.
                      The preferred variable to use is the environment variable
@@ -796,6 +803,9 @@ VVAARRIIAABBLLEE AASSSSIIGG
           multiple words are potentially affected, the latter whether multiple
           substitutions can potentially occur within each affected word.
 
+          As for the ::SS modifier, the _p_a_t_t_e_r_n and _r_e_p_l_a_c_e_m_e_n_t are subjected to
+          variable expansion before being parsed as regular expressions.
+
      ::TT   Replaces each word in the variable with its last component.
 
      ::uu   Remove adjacent duplicate words (like uniq(1)).
@@ -1384,4 +1394,4 @@ BBUUGGSS
 
      There is no way of escaping a space character in a filename.
 
-NetBSD 5.1                     October 25, 2013                     NetBSD 5.1
+NetBSD 5.1                     February 14, 2014                    NetBSD 5.1

Modified: head/contrib/bmake/boot-strap
==============================================================================
--- head/contrib/bmake/boot-strap	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/boot-strap	Tue Jul  8 22:27:50 2014	(r268437)
@@ -111,7 +111,7 @@
 #	Simon J. Gerraty <sjg at crufty.net>
 
 # RCSid:
-#	$Id: boot-strap,v 1.44 2014/01/08 14:49:10 sjg Exp $
+#	$Id: boot-strap,v 1.45 2014/04/05 22:56:54 sjg Exp $
 #
 #	@(#) Copyright (c) 2001 Simon J. Gerraty
 #
@@ -197,7 +197,7 @@ get_optarg() {
 
 here=`'pwd'`
 if [ $here = $Mydir ]; then
-   # avoid polution
+   # avoid pollution
    OBJROOT=../
 fi
 
@@ -453,7 +453,7 @@ op_all() {
 		echo "Use --install-destdir=/somewhere to set DESTDIR during install"
 		echo "Use --install-host-target to use INSTALL_BIN=$HOST_TARGET/bin"
 		echo "Use -DWITH_PROG_VERSION to install as bmake-$MAKE_VERSION"
-		echo "Use -DWITHOUT_PROG_LINK to supress bmake -> bmake-$MAKE_VERSION symlink"
+		echo "Use -DWITHOUT_PROG_LINK to suppress bmake -> bmake-$MAKE_VERSION symlink"
 		echo "Use -DWITHOUT_INSTALL_MK to skip installing files to $prefix/share/mk"
 	fi
 }

Modified: head/contrib/bmake/bsd.after-import.mk
==============================================================================
--- head/contrib/bmake/bsd.after-import.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/bsd.after-import.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: bsd.after-import.mk,v 1.11 2012/12/29 19:32:25 sjg Exp $
+# $Id: bsd.after-import.mk,v 1.12 2014/02/14 23:45:49 sjg Exp $
 
 # This makefile is for use when integrating bmake into a BSD build
 # system.  Use this makefile after importing bmake.
@@ -41,15 +41,13 @@ SRCTOP := ${srctop}
 HOST_OS!= uname
 .endif
 
-# .../share/mk will find ${SRCTOP}/share/mk
-# if we are within ${SRCTOP}
-DEFAULT_SYS_PATH= .../share/mk:/usr/share/mk
-
 BOOTSTRAP_ARGS = \
-	--with-default-sys-path='${DEFAULT_SYS_PATH}' \
 	--prefix /usr \
 	--share /usr/share
 
+.if !empty(DEFAULT_SYS_PATH)
+BOOTSTRAP_ARGS += --with-default-sys-path='${DEFAULT_SYS_PATH}'
+.endif
 
 # run boot-strap with minimal influence
 bootstrap:	${BMAKE_SRC}/boot-strap ${MAKEFILE}

Modified: head/contrib/bmake/config.h.in
==============================================================================
--- head/contrib/bmake/config.h.in	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/config.h.in	Tue Jul  8 22:27:50 2014	(r268437)
@@ -144,6 +144,9 @@
    `HAVE_STRUCT_STAT_ST_RDEV' instead. */
 #undef HAVE_ST_RDEV
 
+/* Define to 1 if you have the `sysctl' function. */
+#undef HAVE_SYSCTL
+
 /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
    */
 #undef HAVE_SYS_DIR_H
@@ -164,6 +167,9 @@
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
+/* Define to 1 if you have the <sys/sysctl.h> header file. */
+#undef HAVE_SYS_SYSCTL_H
+
 /* Define to 1 if you have the <sys/time.h> header file. */
 #undef HAVE_SYS_TIME_H
 
@@ -298,6 +304,9 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #undef _POSIX_SOURCE
 
+/* C99 function name */
+#undef __func__
+
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
 

Modified: head/contrib/bmake/configure
==============================================================================
Binary file (source and/or target). No diff available.

Modified: head/contrib/bmake/configure.in
==============================================================================
--- head/contrib/bmake/configure.in	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/configure.in	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,12 +1,12 @@
 dnl
 dnl RCSid:
-dnl	$Id: configure.in,v 1.51 2014/01/02 22:20:52 sjg Exp $
+dnl	$Id: configure.in,v 1.52 2014/02/15 22:27:59 sjg Exp $
 dnl
 dnl Process this file with autoconf to produce a configure script
 dnl
 AC_PREREQ(2.50)
-AC_INIT([bmake], [20140101], [sjg at NetBSD.org])
-AC_CONFIG_HEADER(config.h)
+AC_INIT([bmake], [20140214], [sjg at NetBSD.org])
+AC_CONFIG_HEADERS(config.h)
 
 dnl make srcdir absolute
 case "$srcdir" in
@@ -203,6 +203,11 @@ dnl
 AC_HEADER_STAT
 AC_STRUCT_ST_RDEV
 dnl
+echo "checking if compiler supports __func__" >&6
+AC_LANG(C)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[[const char *func = __func__;]])],,
+	AC_DEFINE(__func__, __FUNCTION__, C99 function name))
+dnl
 dnl we want this for unit-tests/Makefile
 echo $ECHO_N "checking if diff -u works... $ECHO_C" >&6
 if diff -u /dev/null /dev/null > /dev/null 2>&1; then

Modified: head/contrib/bmake/main.c
==============================================================================
--- head/contrib/bmake/main.c	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/main.c	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $	*/
+/*	$NetBSD: main.c,v 1.226 2014/02/07 17:23:35 pooka Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.226 2014/02/07 17:23:35 pooka Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
@@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19
 #if 0
 static char sccsid[] = "@(#)main.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $");
+__RCSID("$NetBSD: main.c,v 1.226 2014/02/07 17:23:35 pooka Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -1102,11 +1102,12 @@ main(int argc, char **argv)
 	 */
 #ifndef NO_PWD_OVERRIDE
 	if (!ignorePWD) {
-		char *pwd;
+		char *pwd, *ptmp1 = NULL, *ptmp2 = NULL;
 
 		if ((pwd = getenv("PWD")) != NULL &&
-		    getenv("MAKEOBJDIRPREFIX") == NULL) {
-			const char *makeobjdir = getenv("MAKEOBJDIR");
+		    Var_Value("MAKEOBJDIRPREFIX", VAR_CMD, &ptmp1) == NULL) {
+			const char *makeobjdir = Var_Value("MAKEOBJDIR",
+			    VAR_CMD, &ptmp2);
 
 			if (makeobjdir == NULL || !strchr(makeobjdir, '$')) {
 				if (stat(pwd, &sb) == 0 &&
@@ -1115,6 +1116,8 @@ main(int argc, char **argv)
 					(void)strncpy(curdir, pwd, MAXPATHLEN);
 			}
 		}
+		free(ptmp1);
+		free(ptmp2);
 	}
 #endif
 	Var_Set(".CURDIR", curdir, VAR_GLOBAL, 0);
@@ -1131,11 +1134,13 @@ main(int argc, char **argv)
 	Dir_Init(curdir);
 	(void)Main_SetObjdir(curdir);
 
-	if ((path = getenv("MAKEOBJDIRPREFIX")) != NULL) {
+	if ((path = Var_Value("MAKEOBJDIRPREFIX", VAR_CMD, &p1)) != NULL) {
 		(void)snprintf(mdpath, MAXPATHLEN, "%s%s", path, curdir);
 		(void)Main_SetObjdir(mdpath);
-	} else if ((path = getenv("MAKEOBJDIR")) != NULL) {
+		free(p1);
+	} else if ((path = Var_Value("MAKEOBJDIR", VAR_CMD, &p1)) != NULL) {
 		(void)Main_SetObjdir(path);
+		free(p1);
 	} else {
 		(void)snprintf(mdpath, MAXPATHLEN, "%s.%s", _PATH_OBJDIR, machine);
 		if (!Main_SetObjdir(mdpath) && !Main_SetObjdir(_PATH_OBJDIR)) {

Modified: head/contrib/bmake/make.1
==============================================================================
--- head/contrib/bmake/make.1	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/make.1	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-.\"	$NetBSD: make.1,v 1.226 2013/11/07 18:50:46 dholland Exp $
+.\"	$NetBSD: make.1,v 1.230 2014/02/15 18:55:30 sjg 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 October 25, 2013
+.Dd February 14, 2014
 .Dt MAKE 1
 .Os
 .Sh NAME
@@ -706,6 +706,10 @@ was executed.
 Refer to the description of
 .Ql Ev PWD
 for more details.
+.It Va .INCLUDEDFROMDIR
+The directory of the file this Makefile was included from.
+.It Va .INCLUDEDFROMFILE
+The filename of the file this Makefile was included from.
 .It Ev MAKE
 The name that
 .Nm
@@ -1257,6 +1261,15 @@ and
 are orthogonal; the former specifies whether multiple words are
 potentially affected, the latter whether multiple substitutions can
 potentially occur within each affected word.
+.Pp
+As for the
+.Cm \&:S
+modifier, the
+.Ar pattern
+and
+.Ar replacement
+are subjected to variable expansion before being parsed as
+regular expressions.
 .It Cm \&:T
 Replaces each word in the variable with its last component.
 .It Cm \&:u

Modified: head/contrib/bmake/mk/ChangeLog
==============================================================================
--- head/contrib/bmake/mk/ChangeLog	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/ChangeLog	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,3 +1,60 @@
+2014-05-22  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* install-mk (MK_VERSION): 20140522
+
+	* lib.mk: use CC to link shlib for linux too
+	  patch from Brendan MacDonell
+
+2014-05-05  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
+	  if WITH_META_STATS is defined.
+
+2014-05-02  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
+	  to supress dirdeps outside of .CURDIR.
+
+2014-04-05  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* Fix spelling errors - patch from Pedro Giffuni
+
+2014-03-14  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* install-mk (MK_VERSION): 20140314
+
+	* dirdeps.mk (beforedirdeps): a handy hook
+
+	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
+	  to visit leaf dirs to be intercepted (eg. for distributed
+	  build).
+
+	* dirdeps.mk (__depdirs): ensure // don't sneak in
+	
+	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
+
+
+2014-02-21  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* rst2htm.mk (RST2PDF): add support for rst2pdf
+
+2014-02-14  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* install-mk (MK_VERSION): bump version
+	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
+	  available.
+
+2014-02-10  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* options.mk: avoid :U so this isn't bmake dependent
+
+2014-02-09  Simon J. Gerraty  <sjg at bad.crufty.net>
+
+	* options.mk: cleanup and simplify semanitcs 
+	  NO_* dominates all, if both WITH_* and WITHOUT_*
+	  are defined then result is DOMINATE_* which defaults to "no".
+	  Ie. WITHOUT_ normally wins.
+
 2013-12-12  Simon J. Gerraty  <sjg at bad.crufty.net>
 
 	* install-mk (MK_VERSION): bump version
@@ -490,7 +547,7 @@
 	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
 	  asked to do that.
 	  fix/simplify the tests for when to run mkdep.
-	* auto.dep.mk: add some explaination of how/what we do.
+	* auto.dep.mk: add some explanation of how/what we do.
 	* autodep.mk: skip the .OPTIONAL frobbing of .depend
 	  bmake's FROM_DEPEND flag makes it redundant.
 	
@@ -640,7 +697,7 @@
 2006-12-30  Simon J. Gerraty  <sjg at void.crufty.net>
 
 	* install-mk (MK_VERSION): bump version
-	* added libs.mk - analagous to progs.mk
+	* added libs.mk - analogous to progs.mk
 	  make both of them always inlcude {lib,prog}.mk
 
 2006-12-28  Simon J. Gerraty  <sjg at void.crufty.net>

Modified: head/contrib/bmake/mk/autodep.mk
==============================================================================
--- head/contrib/bmake/mk/autodep.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/autodep.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,6 +1,6 @@
 #
 # RCSid:
-#	$Id: autodep.mk,v 1.32 2010/04/19 17:37:56 sjg Exp $
+#	$Id: autodep.mk,v 1.33 2014/04/05 22:56:54 sjg Exp $
 #
 #	@(#) Copyright (c) 1999-2010, Simon J. Gerraty
 #
@@ -16,7 +16,7 @@
 
 # This module provides automagic dependency generation along the
 # lines suggested in the GNU make.info
-# The depend target is mainly for backwards compatability,
+# The depend target is mainly for backwards compatibility,
 # dependencies are normally updated as part of compilation.
 
 # set MKDEP=autodep and dep.mk will include us

Modified: head/contrib/bmake/mk/dirdeps.mk
==============================================================================
--- head/contrib/bmake/mk/dirdeps.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/dirdeps.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: dirdeps.mk,v 1.29 2013/10/13 18:43:53 sjg Exp $
+# $Id: dirdeps.mk,v 1.35 2014/05/03 06:27:56 sjg Exp $
 
 # Copyright (c) 2010-2013, Juniper Networks, Inc.
 # All rights reserved.
@@ -44,7 +44,7 @@
 #	All unqualified entries end up being qualified with .${TARGET_SPEC}
 #	and partially qualified (if TARGET_SPEC_VARS has multiple
 #	entries) are also expanded to a full .<target_spec>.
-#	The  _DIRDEPS_USE target uses the suffix to set TARGET_SPEC
+#	The  _DIRDEP_USE target uses the suffix to set TARGET_SPEC
 #	correctly when visiting each entry.
 #
 #	The fully qualified directory entries are used to construct a
@@ -71,7 +71,7 @@
 #
 # TARGET_SPEC_VARS
 #	The default value is just MACHINE, and for most environments
-#	this is sufficient.  The _DIRDEPS_USE target actually sets
+#	this is sufficient.  The _DIRDEP_USE target actually sets
 #	both MACHINE and TARGET_SPEC to the suffix of the current
 #	target so that in the general case TARGET_SPEC can be ignored.
 #
@@ -196,7 +196,11 @@ N_notmachine := ${.MAKE.DEPENDFILE_PREFE
 # if we were included recursively _DEP_TARGET_SPEC should be valid.
 .if empty(_DEP_TARGET_SPEC)
 # we may or may not have included a dependfile yet
+.if defined(.INCLUDEDFROMFILE)
+_last_dependfile := ${.INCLUDEDFROMFILE:M${.MAKE.DEPENDFILE_PREFIX}*}
+.else
 _last_dependfile := ${.MAKE.MAKEFILES:M*/${.MAKE.DEPENDFILE_PREFIX}*:[-1]}
+.endif
 .if !empty(_debug_reldir)
 .info ${DEP_RELDIR}.${DEP_TARGET_SPEC}: _last_dependfile='${_last_dependfile}'
 .endif
@@ -239,7 +243,8 @@ DEP_MACHINE := ${_DEP_TARGET_SPEC}
 # we can use this as a clue to do initialization and other one time things.
 .if !target(_DIRDEP_USE)
 # make sure this target exists
-dirdeps:
+dirdeps: beforedirdeps .WAIT
+beforedirdeps:
 
 # We normally expect to be included by Makefile.depend.*
 # which sets the DEP_* macros below.
@@ -269,12 +274,15 @@ DEP_SKIP_DIR = ${SKIP_DIR} \
 
 NSkipDir = ${DEP_SKIP_DIR:${M_ListToSkip}}
 
-.if defined(NO_DIRDEPS) || defined(NODIRDEPS)
+.if defined(NO_DIRDEPS) || defined(NODIRDEPS) || defined(WITHOUT_DIRDEPS)
 # confine ourselves to the original dir
 DIRDEPS_FILTER += M${_DEP_RELDIR}*
 .endif
 
-# we supress SUBDIR when visiting the leaves
+# this is what we run below
+DIRDEP_MAKE?= ${.MAKE}
+
+# we suppress SUBDIR when visiting the leaves
 # we assume sys.mk will set MACHINE_ARCH
 # you can add extras to DIRDEP_USE_ENV
 # if there is no makefile in the target directory, we skip it.
@@ -285,7 +293,7 @@ _DIRDEP_USE:	.USE .MAKE
 		MACHINE_ARCH= NO_SUBDIR=1 ${DIRDEP_USE_ENV} \
 		TARGET_SPEC=${.TARGET:E} \
 		MACHINE=${.TARGET:E} \
-		${.MAKE} -C ${.TARGET:R} || exit 1; \
+		${DIRDEP_MAKE} -C ${.TARGET:R} || exit 1; \
 		break; \
 	done
 
@@ -397,7 +405,7 @@ DEP_DIRDEPS_FILTER = U
 .endif
 
 # this is what we start with
-__depdirs := ${DIRDEPS:${NSkipDir}:${DEP_DIRDEPS_FILTER:ts:}:O:u:@d@${SRCTOP}/$d@}
+__depdirs := ${DIRDEPS:${NSkipDir}:${DEP_DIRDEPS_FILTER:ts:}:C,//+,/,g:O:u:@d@${SRCTOP}/$d@}
 
 # some entries may be qualified with .<machine> 
 # the :M*/*/*.* just tries to limit the dirs we check to likely ones.

Modified: head/contrib/bmake/mk/dpadd.mk
==============================================================================
--- head/contrib/bmake/mk/dpadd.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/dpadd.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: dpadd.mk,v 1.18 2011/11/10 05:13:37 sjg Exp $
+# $Id: dpadd.mk,v 1.19 2014/04/05 22:56:54 sjg Exp $
 #
 #	@(#) Copyright (c) 2004, Simon J. Gerraty
 #
@@ -68,7 +68,7 @@ DPLIBS+= ${LIBDMALLOC}
 .endif
 .endif
 
-# Order -L's to seach ours first.
+# Order -L's to search ours first.
 # Avoids picking up old versions already installed.
 __dpadd_libdirs := ${__dpadd_libs:R:H:S/^/-L/g:O:u:N-L}
 LDADD += ${__dpadd_libdirs:M-L${OBJTOP}/*}
@@ -99,9 +99,9 @@ SRC_LIBS+= ${_OBJDIR}/lib${LIB}.a
 # This little bit of magic, assumes that SRC_libfoo will be
 # set if it cannot be correctly derrived from ${LIBFOO}
 # Note that SRC_libfoo and INCLUDES_libfoo should be named for the
-# actual libary name not the variable name that might refer to it.
+# actual library name not the variable name that might refer to it.
 # 99% of the time the two are the same, but the DPADD logic
-# only has the libary name available, so stick to that.
+# only has the library name available, so stick to that.
 # 
 
 SRC_LIBS?=

Modified: head/contrib/bmake/mk/gendirdeps.mk
==============================================================================
--- head/contrib/bmake/mk/gendirdeps.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/gendirdeps.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: gendirdeps.mk,v 1.23 2013/09/04 17:49:20 sjg Exp $
+# $Id: gendirdeps.mk,v 1.25 2014/03/14 21:28:37 sjg Exp $
 
 # Copyright (c) 2010-2013, Juniper Networks, Inc.
 # All rights reserved.
@@ -229,7 +229,7 @@ DIRDEPS = \
 	${qualdir_list:N${RELDIR}.*:N${RELDIR}/*}
 
 # We only consider things below $RELDIR/ if they have a makefile.
-# This is the same test that _DIRDEPS_USE applies.
+# This is the same test that _DIRDEP_USE applies.
 # We have do a double test with dirdep_list as it _may_ contain 
 # qualified dirs - if we got anything from a stage dir.
 # qualdir_list we know are all qualified.
@@ -240,7 +240,7 @@ DIRDEPS += \
 	${dirdep_list:M${RELDIR}/*:@d@${.MAKE.MAKEFILE_PREFERENCE:@m@${exists(${SRCTOP}/$d/$m):?$d:${exists(${SRCTOP}/${d:R}/$m):?$d:}}@}@} \
 	${qualdir_list:M${RELDIR}/*:@d@${.MAKE.MAKEFILE_PREFERENCE:@m@${exists(${SRCTOP}/${d:R}/$m):?$d:}@}@}
 
-DIRDEPS := ${DIRDEPS:${GENDIRDEPS_FILTER:UNno:ts:}:O:u}
+DIRDEPS := ${DIRDEPS:${GENDIRDEPS_FILTER:UNno:ts:}:C,//+,/,g:O:u}
 
 .if ${DEBUG_GENDIRDEPS:Uno:@x@${RELDIR:M$x}@} != ""
 .info ${RELDIR}: M2D_OBJROOTS=${M2D_OBJROOTS}
@@ -261,7 +261,7 @@ src_dirdep_list = \
 SRC_DIRDEPS = \
 	${src_dirdep_list:N${RELDIR}:N${RELDIR}/*:C,(/h)/.*,,}
 
-SRC_DIRDEPS := ${SRC_DIRDEPS:${GENDIRDEPS_SRC_FILTER:UN/*:ts:}:O:u}
+SRC_DIRDEPS := ${SRC_DIRDEPS:${GENDIRDEPS_SRC_FILTER:UN/*:ts:}:C,//+,/,g:O:u}
 
 # if you want to capture SRC_DIRDEPS in .MAKE.DEPENDFILE put
 # SRC_DIRDEPS_FILE = ${_DEPENDFILE} 

Modified: head/contrib/bmake/mk/host-target.mk
==============================================================================
--- head/contrib/bmake/mk/host-target.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/host-target.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,5 +1,5 @@
 # RCSid:
-#	$Id: host-target.mk,v 1.6 2011/03/02 05:05:21 sjg Exp $
+#	$Id: host-target.mk,v 1.7 2014/05/16 17:54:52 sjg Exp $
 
 # Host platform information; may be overridden
 .if !defined(_HOST_OSNAME)
@@ -18,6 +18,10 @@ _HOST_ARCH != uname -m
 .endif
 .export _HOST_ARCH
 .endif
+.if !defined(HOST_MACHINE)
+HOST_MACHINE != uname -m
+.export HOST_MACHINE
+.endif
 
 HOST_OSMAJOR := ${_HOST_OSREL:C/[^0-9].*//}
 HOST_OSTYPE  :=	${_HOST_OSNAME}-${_HOST_OSREL:C/\([^\)]*\)//}-${_HOST_ARCH}

Modified: head/contrib/bmake/mk/install-mk
==============================================================================
--- head/contrib/bmake/mk/install-mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/install-mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -55,7 +55,7 @@
 #       Simon J. Gerraty <sjg at crufty.net>
 
 # RCSid:
-#	$Id: install-mk,v 1.95 2013/12/20 06:08:52 sjg Exp $
+#	$Id: install-mk,v 1.100 2014/05/23 01:30:36 sjg Exp $
 #
 #	@(#) Copyright (c) 1994 Simon J. Gerraty
 #
@@ -70,7 +70,7 @@
 #	sjg at crufty.net
 #
 
-MK_VERSION=20131212
+MK_VERSION=20140522
 OWNER=
 GROUP=
 MODE=444

Modified: head/contrib/bmake/mk/lib.mk
==============================================================================
--- head/contrib/bmake/mk/lib.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/lib.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: lib.mk,v 1.49 2013/07/18 05:46:24 sjg Exp $
+# $Id: lib.mk,v 1.51 2014/05/23 01:30:36 sjg Exp $
 
 .if !target(__${.PARSEFILE}__)
 __${.PARSEFILE}__:
@@ -55,7 +55,7 @@ CFLAGS+=	${COPTS}
 # are built for different platforms and object formats.
 # OBJECT_FMT:		currently either "ELF" or "a.out", from <bsd.own.mk>
 # SHLIB_SOVERSION:	version number to be compiled into a shared library
-#			via -soname. Usualy ${SHLIB_MAJOR} on ELF.
+#			via -soname. Usually ${SHLIB_MAJOR} on ELF.
 #			NetBSD/pmax used to use ${SHLIB_MAJOR}[.${SHLIB_MINOR}
 #			[.${SHLIB_TEENY}]]
 # SHLIB_SHFLAGS:	Flags to tell ${LD} to emit shared library.
@@ -123,7 +123,7 @@ SHLIB_LDSTARTFILE?=	/usr/lib/crtbeginS.o
 SHLIB_LDENDFILE?=	/usr/lib/crtendS.o
 .endif
 
-# for compatability with the following
+# for compatibility with the following
 CC_PIC?= ${CPICFLAGS}
 LD_shared=${SHLIB_SHFLAGS}
 
@@ -175,9 +175,10 @@ AR_cq= -cqs
 .elif ${TARGET_OSNAME} == "FreeBSD"
 LD_solib= lib${LIB}_pic.a
 .elif ${TARGET_OSNAME} == "Linux"
+SHLIB_LD = ${CC}
 # this is ambiguous of course
-LD_shared=-shared -h lib${LIB}.so.${SHLIB_MAJOR}
-LD_solib= --whole-archive lib${LIB}_pic.a
+LD_shared=-shared -Wl,"-h lib${LIB}.so.${SHLIB_MAJOR}"
+LD_solib= -Wl,--whole-archive lib${LIB}_pic.a -Wl,--no-whole-archive
 # Linux uses GNU ld, which is a multi-pass linker
 # so we don't need to use lorder or tsort
 LD_objs = ${OBJS}
@@ -259,7 +260,7 @@ OPTIMIZE_OBJECT_META_FILES ?= yes
 
 
 .if ${MK_LIBTOOL} == "yes"
-# because libtool is so facist about naming the object files,
+# because libtool is so fascist about naming the object files,
 # we cannot (yet) build profiled libs
 MK_PROFILE=no
 _LIBS=lib${LIB}.a
@@ -413,7 +414,7 @@ SHLIB_AGE?=0
 .s.o .S.o .c.o:
 	${LIBTOOL} --mode=compile ${CC} ${LT_STATIC} ${CFLAGS} ${CPPFLAGS} ${IMPFLAGS} -c ${.IMPSRC}
 
-# can't really do profiled libs with libtool - its too facist about
+# can't really do profiled libs with libtool - its too fascist about
 # naming the output...
 lib${LIB}.a:: ${OBJS}
 	@rm -f ${.TARGET}

Modified: head/contrib/bmake/mk/meta.autodep.mk
==============================================================================
--- head/contrib/bmake/mk/meta.autodep.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/meta.autodep.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: meta.autodep.mk,v 1.32 2012/11/13 00:44:26 sjg Exp $
+# $Id: meta.autodep.mk,v 1.35 2014/05/09 00:05:46 sjg Exp $
 
 #
 #	@(#) Copyright (c) 2010, Simon J. Gerraty
@@ -120,7 +120,7 @@ FORCE_DPADD += ${_nonlibs:@x@${DPADD:M*/
 # some makefiles and/or targets contain
 # circular dependencies if you dig too deep 
 # (as meta mode is apt to do) 
-# so we provide a means of supressing them.
+# so we provide a means of suppressing them.
 # the input to the loop below is target: dependency
 # with just one dependency per line.
 # Also some targets are not really local, or use random names.
@@ -137,7 +137,7 @@ SUPPRESS_DEPEND += \
 # the double $$ defers initial evaluation
 # if necessary, we fake .po dependencies, just so the result 
 # in Makefile.depend* is stable
-# The current objdir may be refered to in various ways
+# The current objdir may be referred to in various ways
 OBJDIR_REFS += ${.OBJDIR} ${.OBJDIR:tA} ${_OBJDIR} ${RELOBJTOP}/${RELDIR}
 _depend = .depend
 # it would be nice to be able to get .SUFFIXES as ${.SUFFIXES}
@@ -176,7 +176,9 @@ _depend =
 .info ${_DEPENDFILE:S,${SRCTOP}/,,} _depend=${_depend}
 .endif
 
+.if ${UPDATE_DEPENDFILE} == "yes"
 gendirdeps:	${_DEPENDFILE}
+.endif
 
 .if !target(${_DEPENDFILE})
 .if ${_bootstrap_dirdeps} == "yes"
@@ -259,4 +261,28 @@ ${_DEPENDFILE}: .PRECIOUS
 .endif
 
 CLEANFILES += *.meta filemon.* *.db
+
+# these make it easy to gather some stats
+now_utc = ${%s:L:gmtime}
+start_utc := ${now_utc}
+
+meta_stats= meta=${empty(.MAKE.META.FILES):?0:${.MAKE.META.FILES:[#]}} \
+	created=${empty(.MAKE.META.CREATED):?0:${.MAKE.META.CREATED:[#]}}
+
+#.END: _reldir_finish
+.if target(gendirdeps)
+_reldir_finish: gendirdeps
+.endif
+_reldir_finish: .NOMETA
+	@echo "${TIME_STAMP} Finished ${RELDIR}.${TARGET_SPEC} seconds=$$(( ${now_utc} - ${start_utc} )) ${meta_stats}"
+
+#.ERROR: _reldir_failed
+_reldir_failed: .NOMETA
+	@echo "${TIME_STAMP} Failed ${RELDIR}.${TARGET_SPEC} seconds=$$(( ${now_utc} - ${start_utc} )) ${meta_stats}"
+
+.if defined(WITH_META_STATS) && ${.MAKE.LEVEL} > 0
+.END: _reldir_finish
+.ERROR: _reldir_failed
+.endif
+
 .endif

Modified: head/contrib/bmake/mk/meta2deps.py
==============================================================================
--- head/contrib/bmake/mk/meta2deps.py	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/meta2deps.py	Tue Jul  8 22:27:50 2014	(r268437)
@@ -37,7 +37,7 @@ We only pay attention to a subset of the
 
 """
 RCSid:
-	$Id: meta2deps.py,v 1.16 2013/12/20 06:08:52 sjg Exp $
+	$Id: meta2deps.py,v 1.17 2014/04/05 22:56:54 sjg Exp $
 
 	Copyright (c) 2011-2013, Juniper Networks, Inc.
 	All rights reserved.
@@ -166,7 +166,7 @@ class MetaFile:
         	Sometimes MACHINE isn't enough.
                 
         HOST_TARGET
-		when we build for the psuedo machine 'host'
+		when we build for the pseudo machine 'host'
 		the object tree uses HOST_TARGET rather than MACHINE.
 
         OBJROOTS a list of the common prefix for all obj dirs it might
@@ -296,7 +296,7 @@ class MetaFile:
                 print("%s: %sAdd: %s" % (self.name, clue, data), file=self.debug_out)
 
     def find_top(self, path, list):
-        """the logical tree may be split accross multiple trees"""
+        """the logical tree may be split across multiple trees"""
         for top in list:
             if path.startswith(top):
                 if self.debug > 2:

Modified: head/contrib/bmake/mk/meta2deps.sh
==============================================================================
--- head/contrib/bmake/mk/meta2deps.sh	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/meta2deps.sh	Tue Jul  8 22:27:50 2014	(r268437)
@@ -77,7 +77,7 @@
 
 
 # RCSid:
-#	$Id: meta2deps.sh,v 1.6 2013/05/11 05:16:26 sjg Exp $
+#	$Id: meta2deps.sh,v 1.7 2014/04/05 22:56:54 sjg Exp $
 
 # Copyright (c) 2010-2013, Juniper Networks, Inc.
 # All rights reserved.
@@ -348,7 +348,7 @@ meta2deps() {
 	[ -s $f ] || continue
 	case $f in
 	*qual) # a list of .dirdep files
-	    # we can prefix everthing with $OBJTOP to
+	    # we can prefix everything with $OBJTOP to
 	    # tell gendirdeps.mk that these are
 	    # DIRDEP entries, since they are already
 	    # qualified with .<machine> as needed.

Modified: head/contrib/bmake/mk/options.mk
==============================================================================
--- head/contrib/bmake/mk/options.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/options.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: options.mk,v 1.7 2013/04/17 20:32:38 sjg Exp $
+# $Id: options.mk,v 1.10 2014/02/11 18:34:48 sjg Exp $
 #
 #	@(#) Copyright (c) 2012, Simon J. Gerraty
 #
@@ -30,15 +30,27 @@ OPTIONS_DEFAULT_VALUES += \
 	${OPTIONS_DEFAULT_YES:O:u:S,$,/yes,}
 
 OPTION_PREFIX ?= MK_
+
+# NO_* takes precedence
+# If both WITH_* and WITHOUT_* are defined, WITHOUT_ wins unless
+# DOMINANT_* is set to "yes"
+# Otherwise WITH_* and WITHOUT_* override the default.
 .for o in ${OPTIONS_DEFAULT_VALUES:M*/*}
-.if ${o:T:tl} == "no"
-.if defined(WITH_${o:H}) && !defined(NO_${o:H}) && !defined(NO${o:H})
+.if defined(NO_${o:H}) || defined(NO${o:H})
+# we cannot do it
+${OPTION_PREFIX}${o:H} ?= no
+.elif defined(WITH_${o:H}) && defined(WITHOUT_${o:H})
+# normally WITHOUT_ wins
+DOMINANT_${o:H} ?= no
+${OPTION_PREFIX}${o:H} ?= ${DOMINANT_${o:H}}
+.elif ${o:T:tl} == "no"
+.if defined(WITH_${o:H})
 ${OPTION_PREFIX}${o:H} ?= yes
 .else
 ${OPTION_PREFIX}${o:H} ?= no
 .endif
 .else
-.if defined(WITHOUT_${o:H}) || defined(NO_${o:H}) || defined(NO${o:H})
+.if defined(WITHOUT_${o:H})
 ${OPTION_PREFIX}${o:H} ?= no
 .else
 ${OPTION_PREFIX}${o:H} ?= yes
@@ -47,11 +59,19 @@ ${OPTION_PREFIX}${o:H} ?= yes
 .endfor
 
 # OPTIONS_DEFAULT_DEPENDENT += FOO_UTILS/FOO
-# if neither WITH[OUT]_FOO_UTILS is set, use value of ${OPTION_PREFIX}FOO
+# If neither WITH[OUT]_FOO_UTILS is set, (see rules above)
+# use the value of ${OPTION_PREFIX}FOO
 .for o in ${OPTIONS_DEFAULT_DEPENDENT:M*/*:O:u}
-.if defined(WITH_${o:H}) && !defined(NO_${o:H}) && !defined(NO${o:H})
+.if defined(NO_${o:H}) || defined(NO${o:H})
+# we cannot do it
+${OPTION_PREFIX}${o:H} ?= no
+.elif defined(WITH_${o:H}) && defined(WITHOUT_${o:H})
+# normally WITHOUT_ wins
+DOMINANT_${o:H} ?= no
+${OPTION_PREFIX}${o:H} ?= ${DOMINANT_${o:H}}
+.elif defined(WITH_${o:H})
 ${OPTION_PREFIX}${o:H} ?= yes
-.elif defined(WITHOUT_${o:H}) || defined(NO_${o:H}) || defined(NO${o:H})
+.elif defined(WITHOUT_${o:H})
 ${OPTION_PREFIX}${o:H} ?= no
 .else
 ${OPTION_PREFIX}${o:H} ?= ${${OPTION_PREFIX}${o:T}}

Modified: head/contrib/bmake/mk/rst2htm.mk
==============================================================================
--- head/contrib/bmake/mk/rst2htm.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/rst2htm.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: rst2htm.mk,v 1.8 2011/04/03 21:39:25 sjg Exp $
+# $Id: rst2htm.mk,v 1.9 2014/02/22 01:52:41 sjg Exp $
 #
 #	@(#) Copyright (c) 2009, Simon J. Gerraty
 #
@@ -22,6 +22,7 @@ TXTSRCS != 'ls' -1t ${.CURDIR}/*.txt ${.
 RSTSRCS ?= ${TXTSRCS}
 HTMFILES ?= ${RSTSRCS:R:T:O:u:%=%.htm}
 RST2HTML ?= rst2html.py
+RST2PDF ?= rst2pdf
 RST2S5 ?= rst2s5.py
 # the following will run RST2S5 if the target name contains the word 'slides'
 # otherwise it uses RST2HTML
@@ -33,11 +34,15 @@ CLEANFILES += ${HTMFILES}
 
 html:	${HTMFILES}
 
-.SUFFIXES: ${RST_SUFFIXES} .htm
+.SUFFIXES: ${RST_SUFFIXES} .htm .pdf
 
 ${RST_SUFFIXES:@s@$s.htm@}:
 	${RST2HTM} ${.IMPSRC} ${.TARGET}
 
+${RST_SUFFIXES:@s@$s.pdf@}:
+	${RST2PDF} ${.IMPSRC} ${.TARGET}
+
 .for s in ${RSTSRCS:O:u}
 ${s:R:T}.htm: $s
+${s:R:T}.pdf: $s
 .endfor

Modified: head/contrib/bmake/mk/sys.mk
==============================================================================
--- head/contrib/bmake/mk/sys.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/sys.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-# $Id: sys.mk,v 1.35 2012/11/12 06:27:51 sjg Exp $
+# $Id: sys.mk,v 1.36 2014/05/11 00:30:19 sjg Exp $
 #
 #	@(#) Copyright (c) 2003-2009, Simon J. Gerraty
 #
@@ -77,7 +77,7 @@ M_ListToSkip= O:u:ts::S,:,:N,g:S,^,N,
 # type should be a builtin in any sh since about 1980,
 # AUTOCONF := ${autoconf:L:${M_whence}}
 M_type = @x@(type $$x 2> /dev/null); echo;@:sh:[0]:N* found*:[@]:C,[()],,g
-M_whence = ${M_type}:M/*
+M_whence = ${M_type}:M/*:[1]
 
 # convert a path to a valid shell variable
 M_P2V = tu:C,[./-],_,g

Modified: head/contrib/bmake/mk/sys/SunOS.mk
==============================================================================
--- head/contrib/bmake/mk/sys/SunOS.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/sys/SunOS.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,4 +1,4 @@
-#	$Id: SunOS.mk,v 1.5 2010/01/11 23:02:05 sjg Exp $
+#	$Id: SunOS.mk,v 1.6 2014/04/05 22:56:54 sjg Exp $
 
 .if ${.PARSEFILE} == "sys.mk"
 .include <host-target.mk>
@@ -12,7 +12,7 @@ ROOT_GROUP=	root
 
 SHLIB_FULLVERSION = ${SHLIB_MAJOR}
 
-# supress the dependency
+# suppress the dependency
 LIBCRT0= /dev/null
 
 .ifndef CC

Modified: head/contrib/bmake/mk/target-flags.mk
==============================================================================
--- head/contrib/bmake/mk/target-flags.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/target-flags.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -3,7 +3,7 @@
 #
 # DESCRIPTION:
 #	Include this macro file after all others in a makefile and
-#	follow it with any target specfic flag settings.
+#	follow it with any target specific flag settings.
 #	For each such variable v in TARGET_FLAG_VARS we set:
 #.nf
 #
@@ -37,7 +37,7 @@
 
 
 # RCSid:
-#	$Id: target-flags.mk,v 1.8 2002/05/08 06:01:00 sjg Exp $
+#	$Id: target-flags.mk,v 1.9 2014/04/05 22:56:54 sjg Exp $
 #
 #	@(#) Copyright (c) 1998-2002, Simon J. Gerraty
 #

Modified: head/contrib/bmake/mk/warnings.mk
==============================================================================
--- head/contrib/bmake/mk/warnings.mk	Tue Jul  8 22:04:44 2014	(r268436)
+++ head/contrib/bmake/mk/warnings.mk	Tue Jul  8 22:27:50 2014	(r268437)
@@ -1,5 +1,5 @@
 # RCSid:
-#	$Id: warnings.mk,v 1.7 2009/12/11 17:06:03 sjg Exp $
+#	$Id: warnings.mk,v 1.8 2014/04/02 19:20:23 sjg Exp $
 #
 #	@(#) Copyright (c) 2002, Simon J. Gerraty
 #
@@ -42,24 +42,30 @@ HIGH_WARNINGS?= ${MEDIUM_WARNINGS} \
 	-Wswitch \
 	-Wwrite-strings
 
+EXTRA_WARNINGS?= ${HIGH_WARNINGS} -Wextra
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-head mailing list