Date: Wed, 10 May 2017 22:45:05 +0000 (UTC) From: "Simon J. Gerraty" <sjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r318163 - in head: contrib/bmake contrib/bmake/mk contrib/bmake/mk/sys usr.bin/bmake Message-ID: <201705102245.v4AMj5rb087086@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sjg Date: Wed May 10 22:45:05 2017 New Revision: 318163 URL: https://svnweb.freebsd.org/changeset/base/318163 Log: Merge bmake-20170510 No-op change other than version update. Added: head/contrib/bmake/mk/files.mk - copied unchanged from r318162, vendor/NetBSD/bmake/dist/mk/files.mk Modified: head/contrib/bmake/ChangeLog head/contrib/bmake/Makefile head/contrib/bmake/main.c head/contrib/bmake/mk/ChangeLog head/contrib/bmake/mk/FILES head/contrib/bmake/mk/dirdeps.mk head/contrib/bmake/mk/doc.mk head/contrib/bmake/mk/final.mk head/contrib/bmake/mk/inc.mk head/contrib/bmake/mk/init.mk head/contrib/bmake/mk/install-mk head/contrib/bmake/mk/lib.mk head/contrib/bmake/mk/meta2deps.py head/contrib/bmake/mk/own.mk head/contrib/bmake/mk/prog.mk head/contrib/bmake/mk/scripts.mk head/contrib/bmake/mk/sys/AIX.mk head/contrib/bmake/mk/sys/Darwin.mk head/contrib/bmake/mk/sys/Generic.mk head/contrib/bmake/mk/sys/HP-UX.mk head/contrib/bmake/mk/sys/IRIX.mk head/contrib/bmake/mk/sys/Linux.mk head/contrib/bmake/mk/sys/NetBSD.mk head/contrib/bmake/mk/sys/OSF1.mk head/contrib/bmake/mk/sys/OpenBSD.mk head/contrib/bmake/mk/sys/SunOS.mk head/contrib/bmake/mk/sys/UnixWare.mk head/contrib/bmake/parse.c head/contrib/bmake/str.c head/usr.bin/bmake/Makefile Directory Properties: head/contrib/bmake/ (props changed) Modified: head/contrib/bmake/ChangeLog ============================================================================== --- head/contrib/bmake/ChangeLog Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/ChangeLog Wed May 10 22:45:05 2017 (r318163) @@ -1,3 +1,29 @@ +2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> + + * Makefile (_MAKE_VERSION): 20170510 + Merge with NetBSD make, pick up + o main.c: Main_SetObjdir: ensure buf2 is in scope + +2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> + + * Makefile (_MAKE_VERSION): 20170505 + see mk/ChangeLog + +2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> + + * parse.c: not everyone has stdint.h + +2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> + + * Makefile (_MAKE_VERSION): 20170501 + see mk/ChangeLog + +2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> + + * Makefile (_MAKE_VERSION): 20170421 + Merge with NetBSD make, pick up + o str.c: Str_Match: fix closure tests for [^] and add unit-test. + 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> * Makefile (_MAKE_VERSION): 20170420 Modified: head/contrib/bmake/Makefile ============================================================================== --- head/contrib/bmake/Makefile Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/Makefile Wed May 10 22:45:05 2017 (r318163) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.88 2017/04/20 14:51:14 sjg Exp $ +# $Id: Makefile,v 1.92 2017/05/10 22:29:04 sjg Exp $ # Base version on src date -_MAKE_VERSION= 20170420 +_MAKE_VERSION= 20170510 PROG= bmake Modified: head/contrib/bmake/main.c ============================================================================== --- head/contrib/bmake/main.c Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/main.c Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.264 2017/04/20 03:57:27 sjg Exp $ */ +/* $NetBSD: main.c,v 1.265 2017/05/10 22:26:14 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.264 2017/04/20 03:57:27 sjg Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.265 2017/05/10 22:26:14 sjg 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.264 2017/04/20 03:57:27 sjg Exp $"); +__RCSID("$NetBSD: main.c,v 1.265 2017/05/10 22:26:14 sjg Exp $"); #endif #endif /* not lint */ #endif Modified: head/contrib/bmake/mk/ChangeLog ============================================================================== --- head/contrib/bmake/mk/ChangeLog Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/ChangeLog Wed May 10 22:45:05 2017 (r318163) @@ -1,3 +1,37 @@ +2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> + + * install-mk (MK_VERSION): 20170505 + + * meta2deps.py: fix botched indenation. + +2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> + + * sys/*.mk: Remove setting of MAKE it is unnecessary and + in many cases wrong (basname rather than full path) + + * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk + + * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc + +2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> + + * install-mk (MK_VERSION): 20170501 + + * doc.mk: fix typo in DOC_INSTALL_OWN + + * inc.mk: handle INCGROUPS similar to freebsd + + * files.mk: add something for files too + + * add staging logic to lib.mk prog.mk etc. + +2017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> + + * install-mk (MK_VERSION): 20170424 + + * dirdeps.mk: set NO_DIRDEPS when bootstrapping. + also target of bootstrap-this when sed is needed should be ${_want:T} + 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> * install-mk (MK_VERSION): 20170418 Modified: head/contrib/bmake/mk/FILES ============================================================================== --- head/contrib/bmake/mk/FILES Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/FILES Wed May 10 22:45:05 2017 (r318163) @@ -9,6 +9,7 @@ cython.mk dep.mk doc.mk dpadd.mk +files.mk final.mk host-target.mk host.libnames.mk Modified: head/contrib/bmake/mk/dirdeps.mk ============================================================================== --- head/contrib/bmake/mk/dirdeps.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/dirdeps.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.87 2017/03/07 01:49:03 sjg Exp $ +# $Id: dirdeps.mk,v 1.88 2017/04/24 20:34:59 sjg Exp $ # Copyright (c) 2010-2013, Juniper Networks, Inc. # All rights reserved. @@ -137,6 +137,14 @@ # built for. # +.if !target(bootstrap) && (make(bootstrap) || \ + make(bootstrap-this) || \ + make(bootstrap-recurse) || \ + make(bootstrap-empty)) +# disable most of below +.MAKE.LEVEL = 1 +.endif + # touch this at your peril _DIRDEP_USE_LEVEL?= 0 .if ${.MAKE.LEVEL} == ${_DIRDEP_USE_LEVEL} @@ -757,7 +765,7 @@ bootstrap-this: .NOTMAIN @echo Bootstrapping ${RELDIR}/${_want:T} from ${_src:T}; \ echo You need to build ${RELDIR} to correctly populate it. .if ${_src:T} != ${.MAKE.DEPENDFILE_PREFIX:T} - (cd ${.CURDIR} && sed ${.MAKE.DEPENDFILE_BOOTSTRAP_SED} ${_src} > ${_want}) + (cd ${.CURDIR} && sed ${.MAKE.DEPENDFILE_BOOTSTRAP_SED} ${_src} > ${_want:T}) .else cp ${.CURDIR}/${_src:T} ${_want} .endif Modified: head/contrib/bmake/mk/doc.mk ============================================================================== --- head/contrib/bmake/mk/doc.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/doc.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: doc.mk,v 1.5 2015/09/08 06:15:31 sjg Exp $ +# $Id: doc.mk,v 1.6 2017/05/01 21:24:10 sjg Exp $ .if !target(__${.PARSEFILE}__) __${.PARSEFILE}__: @@ -59,7 +59,7 @@ spell: ${SRCS} .include <own.mk> .if !empty(DOCOWN) -DOC_INSTALL_OWN?= -o ${DOCOWN} -g ${DOGGRP} +DOC_INSTALL_OWN?= -o ${DOCOWN} -g ${DOCGRP} .endif .endif Copied: head/contrib/bmake/mk/files.mk (from r318162, vendor/NetBSD/bmake/dist/mk/files.mk) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/bmake/mk/files.mk Wed May 10 22:45:05 2017 (r318163, copy of r318162, vendor/NetBSD/bmake/dist/mk/files.mk) @@ -0,0 +1,83 @@ +# $Id: files.mk,v 1.6 2017/05/07 02:21:02 sjg Exp $ +# +# @(#) Copyright (c) 2017, Simon J. Gerraty +# +# This file is provided in the hope that it will +# be of use. There is absolutely NO WARRANTY. +# Permission to copy, redistribute or otherwise +# use this file is hereby granted provided that +# the above copyright notice and this notice are +# left intact. +# +# Please send copies of changes and bug-fixes to: +# sjg@crufty.net +# + +.include <init.mk> + +FILES_INSTALL_OWN ?= -o ${SHAREOWN} -g ${SHAREGRP} +FILESMODE ?= ${SHAREMODE} +FILES_COPY ?= -C + +FILESGROUPS ?= FILES +FILESGROUPS := ${FILESGROUPS:O:u} + +.if !target(buildfiles) +.for group in ${FILESGROUPS} +buildfiles: ${${group}} +.endfor +.endif +buildfiles: +realbuild: buildfiles + +# there is no default FILESDIR so +# ignore group if ${group}DIR is not defined +.for group in ${FILESGROUPS} +.if !empty(${group}) && defined(${group}DIR) +.if ${group} != "FILES" +${group}_INSTALL_OWN ?= ${FILES_INSTALL_OWN} +.endif +# incase we are staging +STAGE_DIR.${group} ?= ${STAGE_OBJTOP}${${group}DIR} + +.for file in ${${group}:O:u} +${group}_INSTALL_OWN.${file:T} ?= ${${group}_INSTALL_OWN} +${group}DIR.${file:T} ?= ${${group}DIR} +file_mkdir_list += ${${group}DIR.${file:T}} + +.if defined(${group}NAME.${file:T}) +STAGE_AS_SETS += ${group} +STAGE_AS_${file} = ${${group}NAME.${file:T}} +stage_as.${group}: ${file} + +installfiles: installfiles.${group}.${file:T} +installfiles.${group}.${file:T}: ${file} file_mkdirs + ${INSTALL} ${FILES_COPY} ${${group}_INSTALL_OWN.${file:T}} \ + -m ${FILESMODE} ${.ALLSRC:Nfile_mkdirs} ${DESTDIR}${${group}DIR}/${${group}NAME.${file:T}} + +.else +STAGE_SETS += ${group} +stage_files.${group}: ${file} +installfiles.${group}: ${file} +installfiles: installfiles.${group} +.endif + +.endfor # file + +installfiles.${group}: file_mkdirs + ${INSTALL} ${FILES_COPY} ${${group}_INSTALL_OWN} -m ${FILESMODE} \ + ${.ALLSRC:Nfile_mkdirs:O:u} ${DESTDIR}${${group}DIR} + +.endif # !empty +.endfor # group + +file_mkdirs: + @for d in ${file_mkdir_list:O:u}; do \ + test -d ${DESTDIR}$$d || \ + ${INSTALL} -d ${FILES_INSTALL_OWN} -m 775 ${DESTDIR}$$d; \ + done + +beforeinstall: +installfiles: +realinstall: installfiles +.ORDER: beforeinstall installfiles Modified: head/contrib/bmake/mk/final.mk ============================================================================== --- head/contrib/bmake/mk/final.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/final.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: final.mk,v 1.6 2016/04/05 15:58:37 sjg Exp $ +# $Id: final.mk,v 1.8 2017/05/07 20:30:08 sjg Exp $ .if !target(__${.PARSEFILE}__) __${.PARSEFILE}__: @@ -6,9 +6,17 @@ __${.PARSEFILE}__: # provide a hook for folk who want to do scary stuff .-include <${.CURDIR:H}/Makefile-final.inc> -.if !empty(STAGE) +.if ${MK_STAGING} == "yes" +.include <meta.stage.mk> +.elif !empty(STAGE) .-include <stage.mk> .endif .-include <local.final.mk> + +.if empty(_SKIP_BUILD) +install: realinstall +.endif +realinstall: + .endif Modified: head/contrib/bmake/mk/inc.mk ============================================================================== --- head/contrib/bmake/mk/inc.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/inc.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: inc.mk,v 1.3 2011/03/11 05:23:05 sjg Exp $ +# $Id: inc.mk,v 1.7 2017/05/06 17:29:45 sjg Exp $ # # @(#) Copyright (c) 2008, Simon J. Gerraty # @@ -15,8 +15,6 @@ .include <init.mk> -includes: ${INCS} - .if !empty(LIBOWN) INC_INSTALL_OWN ?= -o ${LIBOWN} -g ${LIBGRP} .endif @@ -24,12 +22,68 @@ INCMODE ?= 444 INC_COPY ?= -C INCSDIR ?= ${INCDIR} -realinstall: incinstall +STAGE_INCSDIR?= ${STAGE_OBJTOP}${INCSDIR} + +# accommodate folk used to freebsd +INCGROUPS ?= ${INCSGROUPS:UINCS} +INCGROUPS := ${INCGROUPS:O:u} + +.if !target(buildincludes) +.for group in ${INCGROUPS} +buildincludes: ${${group}} +.endfor +.endif +buildincludes: +includes: buildincludes + .if !target(incinstall) -incinstall: -.if !empty(INCS) - [ -d ${DESTDIR}${INCSDIR} ] || \ - ${INSTALL} -d ${INC_INSTALL_OWN} -m 775 ${DESTDIR}${INCSDIR} - ${INSTALL} ${INC_COPY} ${INC_INSTALL_OWN} -m ${INCMODE} ${INCS} ${DESTDIR}${INCSDIR} +.for group in ${INCGROUPS} +.if !empty(${group}) +.if ${group} != "INC" +${group}_INSTALL_OWN ?= ${INC_INSTALL_OWN} +${group}DIR ?= ${INCDIR} .endif +# incase we are staging +STAGE_DIR.${group} ?= ${STAGE_OBJTOP}${${group}DIR} + +.for header in ${${group}:O:u} +${group}_INSTALL_OWN.${header:T} ?= ${${group}_INSTALL_OWN} +${group}DIR.${header:T} ?= ${${group}DIR} +inc_mkdir_list += ${${group}DIR.${header:T}} + +.if defined(${group}NAME.${header:T}) +STAGE_AS_SETS += ${group} +STAGE_AS_${header} = ${${group}NAME.${header:T}} +stage_as.${group}: ${header} + +incinstall: incinstall.${group}.${header:T} +incinstall.${group}.${header:T}: ${header} inc_mkdirs + ${INSTALL} ${INC_COPY} ${${group}_INSTALL_OWN.${header:T}} -m ${INCMODE} ${.ALLSRC:Ninc_mkdirs} ${DESTDIR}${${group}DIR}/${${group}NAME.${header:T}} + +.else +STAGE_SETS += ${group} +stage_files.${group}: ${header} +incinstall.${group}: ${header} +incinstall: incinstall.${group} .endif + +.endfor # header + +incinstall.${group}: inc_mkdirs + ${INSTALL} ${INC_COPY} ${${group}_INSTALL_OWN} -m ${INCMODE} \ + ${.ALLSRC:Ninc_mkdirs:O:u} ${DESTDIR}${${group}DIR} + +.endif # !empty +.endfor # group + +inc_mkdirs: + @for d in ${inc_mkdir_list:O:u}; do \ + test -d ${DESTDIR}$$d || \ + ${INSTALL} -d ${INC_INSTALL_OWN} -m 775 ${DESTDIR}$$d; \ + done + +.endif # !target(incinstall) + +beforeinstall: +realinstall: incinstall +.ORDER: beforeinstall incinstall Modified: head/contrib/bmake/mk/init.mk ============================================================================== --- head/contrib/bmake/mk/init.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/init.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: init.mk,v 1.12 2016/04/05 15:58:37 sjg Exp $ +# $Id: init.mk,v 1.15 2017/05/07 20:27:54 sjg Exp $ # # @(#) Copyright (c) 2002, Simon J. Gerraty # @@ -50,8 +50,20 @@ PROFFLAGS?= -DGPROF -DPROF _SKIP_BUILD = not building at level 0 .endif -.if !empty(_SKIP_BUILD) +.if !defined(.PARSEDIR) +# no-op is the best we can do if not bmake. +.WAIT: +.endif + +# define this once for consistency +.if empty(_SKIP_BUILD) +# beforebuild is a hook for things that must be done early +all: beforebuild .WAIT realbuild +.else all: .PHONY .warning ${_SKIP_BUILD} .endif +beforebuild: +realbuild: + .endif Modified: head/contrib/bmake/mk/install-mk ============================================================================== --- head/contrib/bmake/mk/install-mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/install-mk Wed May 10 22:45:05 2017 (r318163) @@ -55,7 +55,7 @@ # Simon J. Gerraty <sjg@crufty.net> # RCSid: -# $Id: install-mk,v 1.141 2017/04/18 23:53:18 sjg Exp $ +# $Id: install-mk,v 1.145 2017/05/09 04:05:32 sjg Exp $ # # @(#) Copyright (c) 1994 Simon J. Gerraty # @@ -70,7 +70,7 @@ # sjg@crufty.net # -MK_VERSION=20170418 +MK_VERSION=20170505 OWNER= GROUP= MODE=444 @@ -176,7 +176,7 @@ $SKIP_MKFILES Do chmod $BINMODE $mk_scri [ "$OWNER" ] && $SKIP_MKFILES Do chown $OWNER $mk_files $sys_mk_files # if this is a BSD system the bsd.*.mk should exist and be used. if [ -z "$SKIP_BSD_MK" ]; then - for f in dep doc init lib links man nls obj own prog subdir + for f in dep doc files inc init lib links man nls obj own prog subdir do b=bsd.$f.mk [ -s $b ] || Do ln -s $f.mk $b Modified: head/contrib/bmake/mk/lib.mk ============================================================================== --- head/contrib/bmake/mk/lib.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/lib.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: lib.mk,v 1.55 2016/09/23 23:04:51 sjg Exp $ +# $Id: lib.mk,v 1.61 2017/05/06 17:30:09 sjg Exp $ .if !target(__${.PARSEFILE}__) __${.PARSEFILE}__: @@ -37,7 +37,7 @@ PICO?= .pico CFLAGS+= ${COPTS} -# Derrived from NetBSD-1.6 +# Originally derrived from NetBSD-1.6 # Set PICFLAGS to cc flags for producing position-independent code, # if not already set. Includes -DPIC, if required. @@ -375,15 +375,14 @@ _LIBS+=llib-l${LIB}.ln .include <dpadd.mk> .endif -.if !defined(_SKIP_BUILD) -all: prebuild .WAIT ${_LIBS} -# a hook for things that must be done early -prebuild: -.if !defined(.PARSEDIR) -# no-op is the best we can do if not bmake. -.WAIT: +.if empty(LIB) +_LIBS= .endif + +.if !defined(_SKIP_BUILD) +realbuild: ${_LIBS} .endif + all: _SUBDIRUSE .for s in ${SRCS:N*.h:M*/*} @@ -509,7 +508,7 @@ LIB_INSTALL_OWN ?= -o ${LIBOWN} -g ${LIB .include <links.mk> -.if !target(realinstall) +.if !target(realinstall) && !empty(LIB) realinstall: libinstall .endif .if !target(libinstall) @@ -552,13 +551,19 @@ libinstall: .endif .endif +.if ${MK_MAN} != "no" install: maninstall _SUBDIRUSE maninstall: afterinstall +.endif afterinstall: realinstall libinstall: beforeinstall realinstall: beforeinstall .endif +.if defined(FILES) || defined(FILESGROUPS) +.include <files.mk> +.endif + .if ${MK_MAN} != "no" .include <man.mk> .endif @@ -591,5 +596,10 @@ realinstall: beforeinstall .endfor @touch ${.TARGET} +.if !empty(LIB) +STAGE_LIBDIR?= ${STAGE_OBJTOP}${LIBDIR} +stage_libs: ${_LIBS} +.endif + .include <final.mk> .endif Modified: head/contrib/bmake/mk/meta2deps.py ============================================================================== --- head/contrib/bmake/mk/meta2deps.py Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/meta2deps.py Wed May 10 22:45:05 2017 (r318163) @@ -37,7 +37,7 @@ We only pay attention to a subset of the """ RCSid: - $Id: meta2deps.py,v 1.25 2017/04/03 21:04:09 sjg Exp $ + $Id: meta2deps.py,v 1.26 2017/05/09 04:04:16 sjg Exp $ Copyright (c) 2011-2013, Juniper Networks, Inc. All rights reserved. @@ -142,7 +142,7 @@ def sort_unique(list, cmp=None, key=None for e in list: if e == le: continue - le = e + le = e nl.append(e) return nl @@ -534,7 +534,7 @@ class MetaFile: # to the src dir, we may need to add dependencies for each rdir = dir dir = abspath(dir, cwd, self.last_dir, self.debug, self.debug_out) - rdir = os.path.realpath(dir) + rdir = os.path.realpath(dir) if rdir == dir: rdir = None # now put path back together Modified: head/contrib/bmake/mk/own.mk ============================================================================== --- head/contrib/bmake/mk/own.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/own.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: own.mk,v 1.32 2016/05/18 20:54:29 sjg Exp $ +# $Id: own.mk,v 1.35 2017/05/03 18:09:44 sjg Exp $ .if !target(__${.PARSEFILE}__) __${.PARSEFILE}__: @@ -117,6 +117,7 @@ OPTIONS_DEFAULT_DEPENDENT+= \ PICINSTALL/LINKLIB \ PICLIB/PIC \ PROFILE/LINKLIB \ + STAGING_PROG/STAGING \ .include <options.mk> @@ -128,7 +129,7 @@ _uid!= id -u USERGRP!= id -g .export USERGRP .endif -.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE +.for x in BIN CONF DOC INC INFO FILES KMOD LIB MAN NLS SHARE $xOWN= ${USER} $xGRP= ${USERGRP} $x_INSTALL_OWN= @@ -145,6 +146,9 @@ BINMODE?= 555 NONBINMODE?= 444 DIRMODE?= 755 +INCLUDEDIR?= ${prefix}/include +INCDIR?= ${INCLUDEDIR} + # Define MANZ to have the man pages compressed (gzip) #MANZ= 1 @@ -184,6 +188,10 @@ KMODGRP?= ${BINGRP} KMODOWN?= ${BINOWN} KMODMODE?= ${NONBINMODE} +SHAREGRP?= ${BINGRP} +SHAREOWN?= ${BINOWN} +SHAREMODE?= ${NONBINMODE} + COPY?= -c STRIP_FLAG?= -s @@ -244,4 +252,19 @@ MK_MAN= no MK_NLS= no .endif +# :U incase not using our sys.mk +.if ${MK_META_MODE:Uno} == "yes" +# should all be set by sys.mk if not default +TARGET_SPEC_VARS ?= MACHINE +.if ${TARGET_SPEC_VARS:[#]} > 1 +TARGET_SPEC_VARS_REV := ${TARGET_SPEC_VARS:[-1..1]} +.else +TARGET_SPEC_VARS_REV = ${TARGET_SPEC_VARS} +.endif +.if ${MK_STAGING} == "yes" +STAGE_ROOT?= ${OBJROOT}/stage +STAGE_OBJTOP?= ${STAGE_ROOT}/${TARGET_SPEC_VARS_REV:ts/} +.endif +.endif + .endif Modified: head/contrib/bmake/mk/prog.mk ============================================================================== --- head/contrib/bmake/mk/prog.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/prog.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: prog.mk,v 1.28 2017/02/14 21:26:13 sjg Exp $ +# $Id: prog.mk,v 1.32 2017/05/06 17:30:09 sjg Exp $ .if !target(__${.PARSEFILE}__) __${.PARSEFILE}__: @@ -75,6 +75,8 @@ ${CXX_SUFFIXES:%=%.o}: .if defined(PROG) +BINDIR ?= ${prefix}/bin + SRCS?= ${PROG}.c .for s in ${SRCS:N*.h:N*.sh:M*/*} ${.o .po .lo:L:@o@${s:T:R}$o@}: $s @@ -126,8 +128,9 @@ MAN= ${PROG}.1 .endif # defined(PROG) .if !defined(_SKIP_BUILD) -all: ${PROG} +realbuild: ${PROG} .endif + all: _SUBDIRUSE .if !target(clean) @@ -208,6 +211,10 @@ lint: ${LOBJS} .NOPATH: ${OBJS} .endif +.if defined(FILES) || defined(FILESGROUPS) +.include <files.mk> +.endif + .if ${MK_MAN} != "no" .include <man.mk> .endif @@ -219,6 +226,20 @@ lint: ${LOBJS} .include <obj.mk> .include <dep.mk> .include <subdir.mk> + +.if !empty(PROG) && ${MK_STAGING_PROG} == "yes" +STAGE_BINDIR ?= ${STAGE_OBJTOP}${BINDIR} +STAGE_DIR.prog ?= ${STAGE_BINDIR} +.if ${PROG_NAME:U${PROG}} != ${PROG} +STAGE_AS_SETS += prog +STAGE_AS_${PROG} = ${PROG_NAME} +stage_as.prog: ${PROG} +.else +STAGE_SETS += prog +stage_files.prog: ${PROG} +.endif +.endif + .include <final.mk> .endif Modified: head/contrib/bmake/mk/scripts.mk ============================================================================== --- head/contrib/bmake/mk/scripts.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/scripts.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,52 +1,91 @@ -# $Id: scripts.mk,v 1.2 2006/11/09 01:55:18 sjg Exp $ +# $Id: scripts.mk,v 1.3 2017/05/06 17:29:45 sjg Exp $ +# +# @(#) Copyright (c) 2006, Simon J. Gerraty +# +# This file is provided in the hope that it will +# be of use. There is absolutely NO WARRANTY. +# Permission to copy, redistribute or otherwise +# use this file is hereby granted provided that +# the above copyright notice and this notice are +# left intact. +# +# Please send copies of changes and bug-fixes to: +# sjg@crufty.net +# .include <init.mk> -.if defined(SCRIPTS) +SCRIPTSGROUPS ?= SCRIPTS +SCRIPTSGROUPS := ${SCRIPTSGROUPS:O:u} -all: ${SCRIPTS} - -.PHONY: scriptsinstall -install: scriptsinstall - -.if !target(scriptsinstall) SCRIPTSDIR?= ${BINDIR} SCRIPTSOWN?= ${BINOWN} SCRIPTSGRP?= ${BINGRP} SCRIPTSMODE?= ${BINMODE} +SCRIPTS_INSTALL_OWN?= -o ${SCRIPTSOWN} -g ${SCRIPTSGRP} +SCRIPTS_COPY ?= -C + # how we get script name from src SCRIPTSNAME_MOD?=T:R -script_targets= ${SCRIPTS:@s@${DESTDIR}${SCRIPTSDIR_$s:U${SCRIPTSDIR}}/${SCRIPTSNAME_$s:U${s:${SCRIPTSNAME_MOD}}}@} - -scriptsinstall:: ${script_targets} - -.PRECIOUS: ${script_targets} -.if !defined(UPDATE) -.PHONY: ${script_targets} -.endif - -INSTALL_FLAGS?= ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} \ - -o ${OWN_${.TARGET:T}:U${SCRIPTSOWN}} \ - -g ${GRP_${.TARGET:T}:U${SCRIPTSGRP}} \ - -m ${MODE_${.TARGET:T}:U${SCRIPTSMODE}} - -__SCRIPTINSTALL_USE: .USE - ${INSTALL} ${INSTALL_FLAGS_${.TARGET:T}:U${INSTALL_FLAGS}} \ - ${.ALLSRC} ${.TARGET} - -.for s in ${SCRIPTS} -.if !defined(BUILD) && !make(all) && !make(${s}) -${DESTDIR}${SCRIPTSDIR_$s:U${SCRIPTSDIR}}/${SCRIPTSNAME_$s:U${s:${SCRIPTSNAME_MOD}}}: .MADE -.endif -${DESTDIR}${SCRIPTSDIR_$s:U${SCRIPTSDIR}}/${SCRIPTSNAME_$s:U${s:${SCRIPTSNAME_MOD}}}: ${s} __SCRIPTINSTALL_USE +.if !target(buildfiles) +.for group in ${SCRIPTSGROUPS} +buildfiles: ${${group}} .endfor .endif +buildfiles: +realbuild: buildfiles +.for group in ${SCRIPTSGROUPS} +.if !empty(${group}) && defined(${group}DIR) +.if ${group} != "SCRIPTS" +${group}_INSTALL_OWN ?= ${SCRIPTS_INSTALL_OWN} .endif +# incase we are staging +STAGE_DIR.${group} ?= ${STAGE_OBJTOP}${${group}DIR} -.if !target(scriptsinstall) -scriptsinstall:: +.for script in ${${group}:O:u} +${group}_INSTALL_OWN.${script:T} ?= ${${group}_INSTALL_OWN} +${group}DIR.${script:T} ?= ${${group}DIR_${script:T}:U${${group}DIR}} +script_mkdir_list += ${${group}DIR.${script:T}} + +${group}NAME.${script} ?= ${${group}NAME_${script:T}:U${script:${SCRIPTSNAME_MOD}}} +.if ${${group}NAME.${script}:T} != ${script:T} +STAGE_AS_SETS += ${group} +STAGE_AS_${script} = ${${group}NAME.${script:T}} +stage_as.${group}: ${script} + +installscripts: installscripts.${group}.${script:T} +installscripts.${group}.${script:T}: ${script} script_mkdirs + ${INSTALL} ${SCRIPTS_COPY} ${${group}_INSTALL_OWN.${script:T}} \ + -m ${SCRIPTSMODE} ${.ALLSRC:Nscript_mkdirs} ${DESTDIR}${${group}DIR}/${${group}NAME.${script:T}} + +.else +STAGE_SETS += ${group} +stage_files.${group}: ${script} +installscripts.${group}: ${script} +installscripts: installscripts.${group} .endif +.endfor # script + +installscripts.${group}: script_mkdirs + ${INSTALL} ${SCRIPTS_COPY} ${${group}_INSTALL_OWN} -m ${SCRIPTSMODE} \ + ${.ALLSRC:Nscript_mkdirs:O:u} ${DESTDIR}${${group}DIR} + +.endif # !empty +.endfor # group + +script_mkdirs: + @for d in ${script_mkdir_list:O:u}; do \ + test -d ${DESTDIR}$$d || \ + ${INSTALL} -d ${SCRIPTS_INSTALL_OWN} -m 775 ${DESTDIR}$$d; \ + done + + +beforeinstall: +installscripts: +realinstall: installscripts +.ORDER: beforeinstall installscripts + Modified: head/contrib/bmake/mk/sys/AIX.mk ============================================================================== --- head/contrib/bmake/mk/sys/AIX.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/AIX.mk Wed May 10 22:45:05 2017 (r318163) @@ -67,8 +67,6 @@ LDFLAGS= LINT= lint LINTFLAGS= -chapbx -MAKE= bmake - PC= pc PFLAGS= COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c Modified: head/contrib/bmake/mk/sys/Darwin.mk ============================================================================== --- head/contrib/bmake/mk/sys/Darwin.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/Darwin.mk Wed May 10 22:45:05 2017 (r318163) @@ -84,8 +84,6 @@ LINTFLAGS?= -chapbx LORDER?= lorder -MAKE?= bmake - NM?= nm PC?= pc Modified: head/contrib/bmake/mk/sys/Generic.mk ============================================================================== --- head/contrib/bmake/mk/sys/Generic.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/Generic.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: Generic.mk,v 1.12 2016/03/22 20:45:14 sjg Exp $ +# $Id: Generic.mk,v 1.13 2017/05/05 18:02:16 sjg Exp $ # # some reasonable defaults @@ -80,8 +80,6 @@ LDFLAGS?= LINT?= lint LINTFLAGS?= -chapbxzF -MAKE?= ${.MAKE} - NM?= nm PC?= pc Modified: head/contrib/bmake/mk/sys/HP-UX.mk ============================================================================== --- head/contrib/bmake/mk/sys/HP-UX.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/HP-UX.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: HP-UX.mk,v 1.10 2016/03/22 20:45:14 sjg Exp $ +# $Id: HP-UX.mk,v 1.11 2017/05/05 18:02:16 sjg Exp $ # $NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $ # @(#)sys.mk 5.11 (Berkeley) 3/13/91 @@ -101,8 +101,6 @@ LDFLAGS= LINT= lint LINTFLAGS= -chapbx -MAKE= bmake - PC= pc PFLAGS= COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c Modified: head/contrib/bmake/mk/sys/IRIX.mk ============================================================================== --- head/contrib/bmake/mk/sys/IRIX.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/IRIX.mk Wed May 10 22:45:05 2017 (r318163) @@ -70,8 +70,6 @@ LINTFLAGS?= -chapbxzF LORDER?= lorder -MAKE?= make - NM?= nm PC?= pc Modified: head/contrib/bmake/mk/sys/Linux.mk ============================================================================== --- head/contrib/bmake/mk/sys/Linux.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/Linux.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: Linux.mk,v 1.8 2016/03/22 20:45:14 sjg Exp $ +# $Id: Linux.mk,v 1.9 2017/05/05 18:02:16 sjg Exp $ # $NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $ # @(#)sys.mk 5.11 (Berkeley) 3/13/91 @@ -70,8 +70,6 @@ LDFLAGS= LINT= lint LINTFLAGS= -chapbx -MAKE= bmake - PC= pc PFLAGS= COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c Modified: head/contrib/bmake/mk/sys/NetBSD.mk ============================================================================== --- head/contrib/bmake/mk/sys/NetBSD.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/NetBSD.mk Wed May 10 22:45:05 2017 (r318163) @@ -105,8 +105,6 @@ LINTFLAGS?= -chapbxzF LORDER?= lorder -MAKE?= make - NM?= nm PC?= pc Modified: head/contrib/bmake/mk/sys/OSF1.mk ============================================================================== --- head/contrib/bmake/mk/sys/OSF1.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/OSF1.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: OSF1.mk,v 1.7 2016/03/22 20:45:15 sjg Exp $ +# $Id: OSF1.mk,v 1.8 2017/05/05 18:02:16 sjg Exp $ # $NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $ # @(#)sys.mk 5.11 (Berkeley) 3/13/91 @@ -77,8 +77,6 @@ LDFLAGS= LINT= lint LINTFLAGS= -chapbx -MAKE= bmake - PC= pc PFLAGS= COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c Modified: head/contrib/bmake/mk/sys/OpenBSD.mk ============================================================================== --- head/contrib/bmake/mk/sys/OpenBSD.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/OpenBSD.mk Wed May 10 22:45:05 2017 (r318163) @@ -80,8 +80,6 @@ LINTFLAGS?= -chapbxzF LORDER?= lorder -MAKE?= make - NM?= nm PC?= pc Modified: head/contrib/bmake/mk/sys/SunOS.mk ============================================================================== --- head/contrib/bmake/mk/sys/SunOS.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/SunOS.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: SunOS.mk,v 1.7 2016/03/22 20:45:15 sjg Exp $ +# $Id: SunOS.mk,v 1.8 2017/05/05 18:02:17 sjg Exp $ .if ${.PARSEFILE} == "sys.mk" .include <host-target.mk> @@ -98,8 +98,6 @@ LDFLAGS= LINT= lint LINTFLAGS= -chapbx -MAKE= bmake - PC= pc PFLAGS= COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c Modified: head/contrib/bmake/mk/sys/UnixWare.mk ============================================================================== --- head/contrib/bmake/mk/sys/UnixWare.mk Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/mk/sys/UnixWare.mk Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -# $Id: UnixWare.mk,v 1.2 2016/03/22 20:45:15 sjg Exp $ +# $Id: UnixWare.mk,v 1.3 2017/05/05 18:02:17 sjg Exp $ # based on "Id: SunOS.5.sys.mk,v 1.6 2003/09/30 16:42:23 sjg Exp " # $NetBSD: sys.mk,v 1.19.2.1 1994/07/26 19:58:31 cgd Exp $ # @(#)sys.mk 5.11 (Berkeley) 3/13/91 @@ -114,8 +114,6 @@ LINTFLAGS?= -pF LORDER?= lorder -MAKE?= bmake - NM?= nm PC?= pc # XXX: UDK probably does not have pc Modified: head/contrib/bmake/parse.c ============================================================================== --- head/contrib/bmake/parse.c Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/parse.c Wed May 10 22:45:05 2017 (r318163) @@ -130,7 +130,6 @@ __RCSID("$NetBSD: parse.c,v 1.225 2017/0 #include <errno.h> #include <stdarg.h> #include <stdio.h> -#include <stdint.h> #include "make.h" #include "hash.h" @@ -139,6 +138,10 @@ __RCSID("$NetBSD: parse.c,v 1.225 2017/0 #include "buf.h" #include "pathnames.h" +#ifdef HAVE_STDINT_H +#include <stdint.h> +#endif + #ifdef HAVE_MMAP #include <sys/mman.h> Modified: head/contrib/bmake/str.c ============================================================================== --- head/contrib/bmake/str.c Wed May 10 22:40:27 2017 (r318162) +++ head/contrib/bmake/str.c Wed May 10 22:45:05 2017 (r318163) @@ -1,4 +1,4 @@ -/* $NetBSD: str.c,v 1.37 2017/04/11 17:30:13 sjg Exp $ */ +/* $NetBSD: str.c,v 1.38 2017/04/21 22:15:44 sjg Exp $ */ /*- * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: str.c,v 1.37 2017/04/11 17:30:13 sjg Exp $"; +static char rcsid[] = "$NetBSD: str.c,v 1.38 2017/04/21 22:15:44 sjg Exp $"; #else #include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)str.c 5.8 (Berkeley) 6/1/90"; #else -__RCSID("$NetBSD: str.c,v 1.37 2017/04/11 17:30:13 sjg Exp $"); +__RCSID("$NetBSD: str.c,v 1.38 2017/04/21 22:15:44 sjg Exp $"); #endif #endif /* not lint */ #endif Modified: head/usr.bin/bmake/Makefile ============================================================================== --- head/usr.bin/bmake/Makefile Wed May 10 22:40:27 2017 (r318162) +++ head/usr.bin/bmake/Makefile Wed May 10 22:45:05 2017 (r318163) @@ -14,10 +14,10 @@ CFLAGS+= -I${.CURDIR} *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705102245.v4AMj5rb087086>