bmake-20150606
This commit is contained in:
parent
c21ae9a30b
commit
c86c1f1254
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/NetBSD/bmake/dist/; revision=284243 svn path=/vendor/NetBSD/bmake/20150606/; revision=284244; tag=vendor/NetBSD/bmake/20150606
@ -1,3 +1,9 @@
|
|||||||
|
2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
|
||||||
|
|
||||||
|
* Makefile (MAKE_VERSION): 20150606
|
||||||
|
Merge with NetBSD make, pick up
|
||||||
|
o make.1: document .OBJDIR target
|
||||||
|
|
||||||
2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
|
2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
|
||||||
|
|
||||||
* Makefile (MAKE_VERSION): 20150505
|
* Makefile (MAKE_VERSION): 20150505
|
||||||
|
4
Makefile
4
Makefile
@ -1,7 +1,7 @@
|
|||||||
# $Id: Makefile,v 1.38 2015/05/05 21:58:05 sjg Exp $
|
# $Id: Makefile,v 1.39 2015/06/07 15:54:37 sjg Exp $
|
||||||
|
|
||||||
# Base version on src date
|
# Base version on src date
|
||||||
MAKE_VERSION= 20150505
|
MAKE_VERSION= 20150606
|
||||||
|
|
||||||
PROG= bmake
|
PROG= bmake
|
||||||
|
|
||||||
|
20
bmake.1
20
bmake.1
@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: make.1,v 1.247 2015/04/10 08:43:32 wiz Exp $
|
.\" $NetBSD: make.1,v 1.249 2015/06/05 07:33:40 wiz Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1990, 1993
|
.\" Copyright (c) 1990, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
@ -29,7 +29,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
||||||
.\"
|
.\"
|
||||||
.Dd April 9, 2015
|
.Dd June 4, 2015
|
||||||
.Dt MAKE 1
|
.Dt MAKE 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -993,14 +993,15 @@ This is especially useful with
|
|||||||
.Ql Ev MAKEOBJDIR .
|
.Ql Ev MAKEOBJDIR .
|
||||||
.Pp
|
.Pp
|
||||||
.Ql Va .OBJDIR
|
.Ql Va .OBJDIR
|
||||||
may be modified in the makefile as a global variable.
|
may be modified in the makefile via the special target
|
||||||
|
.Ql Ic .OBJDIR .
|
||||||
In all cases,
|
In all cases,
|
||||||
.Nm
|
.Nm
|
||||||
will
|
will
|
||||||
.Xr chdir 2
|
.Xr chdir 2
|
||||||
to
|
to the specified directory if it exists, and set
|
||||||
.Ql Va .OBJDIR
|
.Ql Va .OBJDIR
|
||||||
and set
|
and
|
||||||
.Ql Ev PWD
|
.Ql Ev PWD
|
||||||
to that directory before executing any targets.
|
to that directory before executing any targets.
|
||||||
.
|
.
|
||||||
@ -2001,6 +2002,15 @@ Disable parallel mode.
|
|||||||
Synonym for
|
Synonym for
|
||||||
.Ic .NOTPARALLEL ,
|
.Ic .NOTPARALLEL ,
|
||||||
for compatibility with other pmake variants.
|
for compatibility with other pmake variants.
|
||||||
|
.It Ic .OBJDIR
|
||||||
|
The source is a new value for
|
||||||
|
.Ql Va .OBJDIR .
|
||||||
|
If it exists,
|
||||||
|
.Nm
|
||||||
|
will
|
||||||
|
.Xr chdir 2
|
||||||
|
to it and update the value of
|
||||||
|
.Ql Va .OBJDIR .
|
||||||
.It Ic .ORDER
|
.It Ic .ORDER
|
||||||
The named targets are made in sequence.
|
The named targets are made in sequence.
|
||||||
This ordering does not add targets to the list of targets to be made.
|
This ordering does not add targets to the list of targets to be made.
|
||||||
|
13
bmake.cat1
13
bmake.cat1
@ -647,10 +647,10 @@ VVAARRIIAABBLLEE AASSSSIIGGNNMMEENNTTSS
|
|||||||
may be used. This is especially useful with
|
may be used. This is especially useful with
|
||||||
`MAKEOBJDIR'.
|
`MAKEOBJDIR'.
|
||||||
|
|
||||||
`_._O_B_J_D_I_R' may be modified in the makefile as a global
|
`_._O_B_J_D_I_R' may be modified in the makefile via the special
|
||||||
variable. In all cases, bbmmaakkee will chdir(2) to `_._O_B_J_D_I_R'
|
target `..OOBBJJDDIIRR'. In all cases, bbmmaakkee will chdir(2) to
|
||||||
and set `PWD' to that directory before executing any tar-
|
the specified directory if it exists, and set `_._O_B_J_D_I_R'
|
||||||
gets.
|
and `PWD' to that directory before executing any targets.
|
||||||
|
|
||||||
_._P_A_R_S_E_D_I_R A path to the directory of the current `_M_a_k_e_f_i_l_e' being
|
_._P_A_R_S_E_D_I_R A path to the directory of the current `_M_a_k_e_f_i_l_e' being
|
||||||
parsed.
|
parsed.
|
||||||
@ -1271,6 +1271,9 @@ SSPPEECCIIAALL TTAARRGGEETTSS
|
|||||||
Synonym for ..NNOOTTPPAARRAALLLLEELL, for compatibility with other pmake
|
Synonym for ..NNOOTTPPAARRAALLLLEELL, for compatibility with other pmake
|
||||||
variants.
|
variants.
|
||||||
|
|
||||||
|
..OOBBJJDDIIRR The source is a new value for `_._O_B_J_D_I_R'. If it exists, bbmmaakkee
|
||||||
|
will chdir(2) to it and update the value of `_._O_B_J_D_I_R'.
|
||||||
|
|
||||||
..OORRDDEERR The named targets are made in sequence. This ordering does not
|
..OORRDDEERR The named targets are made in sequence. This ordering does not
|
||||||
add targets to the list of targets to be made. Since the depen-
|
add targets to the list of targets to be made. Since the depen-
|
||||||
dents of a target do not get built until the target itself could
|
dents of a target do not get built until the target itself could
|
||||||
@ -1449,4 +1452,4 @@ BBUUGGSS
|
|||||||
|
|
||||||
There is no way of escaping a space character in a filename.
|
There is no way of escaping a space character in a filename.
|
||||||
|
|
||||||
NetBSD 5.1 April 9, 2015 NetBSD 5.1
|
NetBSD 5.1 June 4, 2015 NetBSD 5.1
|
||||||
|
20
make.1
20
make.1
@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: make.1,v 1.247 2015/04/10 08:43:32 wiz Exp $
|
.\" $NetBSD: make.1,v 1.249 2015/06/05 07:33:40 wiz Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1990, 1993
|
.\" Copyright (c) 1990, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
@ -29,7 +29,7 @@
|
|||||||
.\"
|
.\"
|
||||||
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
.\" from: @(#)make.1 8.4 (Berkeley) 3/19/94
|
||||||
.\"
|
.\"
|
||||||
.Dd April 9, 2015
|
.Dd June 4, 2015
|
||||||
.Dt MAKE 1
|
.Dt MAKE 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -993,14 +993,15 @@ This is especially useful with
|
|||||||
.Ql Ev MAKEOBJDIR .
|
.Ql Ev MAKEOBJDIR .
|
||||||
.Pp
|
.Pp
|
||||||
.Ql Va .OBJDIR
|
.Ql Va .OBJDIR
|
||||||
may be modified in the makefile as a global variable.
|
may be modified in the makefile via the special target
|
||||||
|
.Ql Ic .OBJDIR .
|
||||||
In all cases,
|
In all cases,
|
||||||
.Nm
|
.Nm
|
||||||
will
|
will
|
||||||
.Xr chdir 2
|
.Xr chdir 2
|
||||||
to
|
to the specified directory if it exists, and set
|
||||||
.Ql Va .OBJDIR
|
.Ql Va .OBJDIR
|
||||||
and set
|
and
|
||||||
.Ql Ev PWD
|
.Ql Ev PWD
|
||||||
to that directory before executing any targets.
|
to that directory before executing any targets.
|
||||||
.
|
.
|
||||||
@ -2001,6 +2002,15 @@ Disable parallel mode.
|
|||||||
Synonym for
|
Synonym for
|
||||||
.Ic .NOTPARALLEL ,
|
.Ic .NOTPARALLEL ,
|
||||||
for compatibility with other pmake variants.
|
for compatibility with other pmake variants.
|
||||||
|
.It Ic .OBJDIR
|
||||||
|
The source is a new value for
|
||||||
|
.Ql Va .OBJDIR .
|
||||||
|
If it exists,
|
||||||
|
.Nm
|
||||||
|
will
|
||||||
|
.Xr chdir 2
|
||||||
|
to it and update the value of
|
||||||
|
.Ql Va .OBJDIR .
|
||||||
.It Ic .ORDER
|
.It Ic .ORDER
|
||||||
The named targets are made in sequence.
|
The named targets are made in sequence.
|
||||||
This ordering does not add targets to the list of targets to be made.
|
This ordering does not add targets to the list of targets to be made.
|
||||||
|
26
mk/ChangeLog
26
mk/ChangeLog
@ -1,3 +1,29 @@
|
|||||||
|
2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
|
||||||
|
|
||||||
|
* install-mk (MK_VERSION): 20150606
|
||||||
|
|
||||||
|
* dirdeps.mk: don't rely on manually maintained Makefile.depend
|
||||||
|
to set DEP_RELDIR and reset DIRDEPS.
|
||||||
|
By setting DEP_RELDIR ourselves we can skip :tA
|
||||||
|
|
||||||
|
* gendirdeps.mk: skip setting DEP_RELDIR.
|
||||||
|
|
||||||
|
2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
|
||||||
|
|
||||||
|
* dirdeps.mk: avoid wildcards like make(bootstrap*)
|
||||||
|
|
||||||
|
2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
|
||||||
|
|
||||||
|
* install-mk (MK_VERSION): 20150520
|
||||||
|
|
||||||
|
* dirdeps.mk: when we are building dirdeps cache file we *want*
|
||||||
|
meta_oodate to look at all the Makefile.depend files, so
|
||||||
|
set .MAKE.DEPENDFILE to something that won't match.
|
||||||
|
|
||||||
|
* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
|
||||||
|
so first use absolute path as key.
|
||||||
|
Also skip staging at level 0.
|
||||||
|
|
||||||
2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
|
2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
|
||||||
|
|
||||||
* install-mk (MK_VERSION): 20150430
|
* install-mk (MK_VERSION): 20150430
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: dirdeps.mk,v 1.51 2015/05/06 06:07:30 sjg Exp $
|
# $Id: dirdeps.mk,v 1.54 2015/06/08 20:55:11 sjg Exp $
|
||||||
|
|
||||||
# Copyright (c) 2010-2013, Juniper Networks, Inc.
|
# Copyright (c) 2010-2013, Juniper Networks, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@ -383,6 +383,7 @@ ${DIRDEPS_CACHE}: .META .NOMETA_CMP
|
|||||||
DIRDEPS="${DIRDEPS}" \
|
DIRDEPS="${DIRDEPS}" \
|
||||||
MAKEFLAGS= ${.MAKE} -C ${_CURDIR} -f ${BUILD_DIRDEPS_MAKEFILE} \
|
MAKEFLAGS= ${.MAKE} -C ${_CURDIR} -f ${BUILD_DIRDEPS_MAKEFILE} \
|
||||||
${BUILD_DIRDEPS_TARGETS} BUILD_DIRDEPS_CACHE=yes \
|
${BUILD_DIRDEPS_TARGETS} BUILD_DIRDEPS_CACHE=yes \
|
||||||
|
.MAKE.DEPENDFILE=.none \
|
||||||
3>&1 1>&2 | sed 's,${SRCTOP},$${SRCTOP},g' >> ${.TARGET}.new && \
|
3>&1 1>&2 | sed 's,${SRCTOP},$${SRCTOP},g' >> ${.TARGET}.new && \
|
||||||
mv ${.TARGET}.new ${.TARGET}
|
mv ${.TARGET}.new ${.TARGET}
|
||||||
|
|
||||||
@ -587,6 +588,11 @@ _qm := ${_m:C;(\.depend)$;\1.${d:E};:${M_dep_qual_fixes:ts:}}
|
|||||||
_DEP_TARGET_SPEC := ${d:E}
|
_DEP_TARGET_SPEC := ${d:E}
|
||||||
# some makefiles may still look at this
|
# some makefiles may still look at this
|
||||||
_DEP_MACHINE := ${d:E:C/,.*//}
|
_DEP_MACHINE := ${d:E:C/,.*//}
|
||||||
|
# set this "just in case"
|
||||||
|
# we can skip :tA since we computed the path above
|
||||||
|
DEP_RELDIR := ${_m:H:S,${SRCTOP}/,,}
|
||||||
|
# and reset this
|
||||||
|
DIRDEPS =
|
||||||
.if ${_debug_reldir} && ${_qm} != ${_m}
|
.if ${_debug_reldir} && ${_qm} != ${_m}
|
||||||
.info loading ${_m} for ${d:E}
|
.info loading ${_m} for ${d:E}
|
||||||
.endif
|
.endif
|
||||||
@ -602,13 +608,15 @@ _DEP_MACHINE := ${d:E:C/,.*//}
|
|||||||
.elif ${.MAKE.LEVEL} > 42
|
.elif ${.MAKE.LEVEL} > 42
|
||||||
.error You should have stopped recursing by now.
|
.error You should have stopped recursing by now.
|
||||||
.else
|
.else
|
||||||
_DEP_RELDIR := ${DEP_RELDIR}
|
# we are building something
|
||||||
|
DEP_RELDIR := ${RELDIR}
|
||||||
|
_DEP_RELDIR := ${RELDIR}
|
||||||
# pickup local dependencies
|
# pickup local dependencies
|
||||||
.-include <.depend>
|
.-include <.depend>
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
# bootstrapping new dependencies made easy?
|
# bootstrapping new dependencies made easy?
|
||||||
.if make(bootstrap*) && !target(bootstrap)
|
.if (make(bootstrap) || make(bootstrap-recurse)) && !target(bootstrap)
|
||||||
|
|
||||||
.if exists(${.CURDIR}/${.MAKE.DEPENDFILE:T})
|
.if exists(${.CURDIR}/${.MAKE.DEPENDFILE:T})
|
||||||
# stop here
|
# stop here
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: gendirdeps.mk,v 1.26 2014/09/05 04:40:52 sjg Exp $
|
# $Id: gendirdeps.mk,v 1.27 2015/06/08 20:55:11 sjg Exp $
|
||||||
|
|
||||||
# Copyright (c) 2010-2013, Juniper Networks, Inc.
|
# Copyright (c) 2010-2013, Juniper Networks, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@ -311,7 +311,6 @@ CAT_DEPEND ?= .depend
|
|||||||
# to output _{VAR} tokens which we will turn into proper ${VAR} references.
|
# to output _{VAR} tokens which we will turn into proper ${VAR} references.
|
||||||
${_DEPENDFILE}: ${CAT_DEPEND:M.depend} ${META_FILES:O:u:@m@${exists($m):?$m:}@} ${_this} ${META2DEPS}
|
${_DEPENDFILE}: ${CAT_DEPEND:M.depend} ${META_FILES:O:u:@m@${exists($m):?$m:}@} ${_this} ${META2DEPS}
|
||||||
@(echo '# Autogenerated - do NOT edit!'; echo; \
|
@(echo '# Autogenerated - do NOT edit!'; echo; \
|
||||||
echo 'DEP_RELDIR := $${_PARSEDIR:S,$${SRCTOP}/,,}'; echo; \
|
|
||||||
echo 'DIRDEPS = \'; \
|
echo 'DIRDEPS = \'; \
|
||||||
echo '${DIRDEPS:@d@ $d \\${.newline}@}'; echo; \
|
echo '${DIRDEPS:@d@ $d \\${.newline}@}'; echo; \
|
||||||
${_include_src_dirdeps} \
|
${_include_src_dirdeps} \
|
||||||
@ -332,7 +331,6 @@ all: ${_DEPENDFILE}
|
|||||||
|
|
||||||
${_DEPENDFILE}: ${MAKEFILE} ${_this}
|
${_DEPENDFILE}: ${MAKEFILE} ${_this}
|
||||||
@(echo '# Autogenerated - do NOT edit!'; echo; \
|
@(echo '# Autogenerated - do NOT edit!'; echo; \
|
||||||
echo 'DEP_RELDIR := $${_PARSEDIR:S,$${SRCTOP}/,,}'; echo; \
|
|
||||||
echo 'DIRDEPS = \'; \
|
echo 'DIRDEPS = \'; \
|
||||||
echo '${DIRDEPS:@d@ $d \\${.newline}@}'; echo; \
|
echo '${DIRDEPS:@d@ $d \\${.newline}@}'; echo; \
|
||||||
echo '.include <dirdeps.mk>'; \
|
echo '.include <dirdeps.mk>'; \
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
# Simon J. Gerraty <sjg@crufty.net>
|
# Simon J. Gerraty <sjg@crufty.net>
|
||||||
|
|
||||||
# RCSid:
|
# RCSid:
|
||||||
# $Id: install-mk,v 1.110 2015/05/01 06:37:49 sjg Exp $
|
# $Id: install-mk,v 1.112 2015/06/08 20:55:11 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 1994 Simon J. Gerraty
|
# @(#) Copyright (c) 1994 Simon J. Gerraty
|
||||||
#
|
#
|
||||||
@ -70,7 +70,7 @@
|
|||||||
# sjg@crufty.net
|
# sjg@crufty.net
|
||||||
#
|
#
|
||||||
|
|
||||||
MK_VERSION=20150430
|
MK_VERSION=20150606
|
||||||
OWNER=
|
OWNER=
|
||||||
GROUP=
|
GROUP=
|
||||||
MODE=444
|
MODE=444
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: meta.stage.mk,v 1.34 2014/11/20 22:40:08 sjg Exp $
|
# $Id: meta.stage.mk,v 1.35 2015/05/20 06:40:33 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2011, Simon J. Gerraty
|
# @(#) Copyright (c) 2011, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
@ -218,7 +218,7 @@ STAGE_AS.$s ?= ${.ALLSRC:N.dirdep}
|
|||||||
|
|
||||||
stage_as: stage_as.$s
|
stage_as: stage_as.$s
|
||||||
stage_as.$s: .dirdep
|
stage_as.$s: .dirdep
|
||||||
@${STAGE_AS_SCRIPT}; StageAs ${FLAGS.$@} ${STAGE_FILES_DIR.$s:U${STAGE_DIR.$s}:${STAGE_DIR_FILTER}} ${STAGE_AS.$s:@f@$f ${STAGE_AS_${f:T}:U${f:T}}@}
|
@${STAGE_AS_SCRIPT}; StageAs ${FLAGS.$@} ${STAGE_FILES_DIR.$s:U${STAGE_DIR.$s}:${STAGE_DIR_FILTER}} ${STAGE_AS.$s:@f@$f ${STAGE_AS_${f:tA}:U${STAGE_AS_${f:T}:U${f:T}}}@}
|
||||||
@touch $@
|
@touch $@
|
||||||
|
|
||||||
.endfor
|
.endfor
|
||||||
@ -238,7 +238,9 @@ staging:
|
|||||||
# generally we want staging to wait until everything else is done
|
# generally we want staging to wait until everything else is done
|
||||||
STAGING_WAIT ?= .WAIT
|
STAGING_WAIT ?= .WAIT
|
||||||
|
|
||||||
|
.if ${.MAKE.LEVEL} > 0
|
||||||
all: ${STAGING_WAIT} staging
|
all: ${STAGING_WAIT} staging
|
||||||
|
.endif
|
||||||
|
|
||||||
.if exists(${.PARSEDIR}/stage-install.sh) && !defined(STAGE_INSTALL)
|
.if exists(${.PARSEDIR}/stage-install.sh) && !defined(STAGE_INSTALL)
|
||||||
# this will run install(1) and then followup with .dirdep files.
|
# this will run install(1) and then followup with .dirdep files.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: meta.sys.mk,v 1.20 2014/08/04 05:12:27 sjg Exp $
|
# $Id: meta.sys.mk,v 1.21 2015/06/01 22:43:49 sjg Exp $
|
||||||
|
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2010, Simon J. Gerraty
|
# @(#) Copyright (c) 2010, Simon J. Gerraty
|
||||||
@ -108,11 +108,16 @@ _metaError: .NOMETA .NOTMAIN
|
|||||||
.if ${.MAKE.MODE:Mmeta*} != ""
|
.if ${.MAKE.MODE:Mmeta*} != ""
|
||||||
MKDEP_MK = meta.autodep.mk
|
MKDEP_MK = meta.autodep.mk
|
||||||
|
|
||||||
# if we think we are updating dependencies,
|
.if ${UPDATE_DEPENDFILE:Uyes:tl} != "no"
|
||||||
# then filemon had better be present
|
.if ${.MAKEFLAGS:Uno:M-k} != ""
|
||||||
.if ${UPDATE_DEPENDFILE:Uyes:tl} != "no" && !exists(/dev/filemon)
|
# make this more obvious
|
||||||
|
.warning Setting UPDATE_DEPENDFILE=NO due to -k
|
||||||
|
UPDATE_DEPENDFILE= NO
|
||||||
|
.export UPDATE_DEPENDFILE
|
||||||
|
.elif !exists(/dev/filemon)
|
||||||
.error ${.newline}ERROR: The filemon module (/dev/filemon) is not loaded.
|
.error ${.newline}ERROR: The filemon module (/dev/filemon) is not loaded.
|
||||||
.endif
|
.endif
|
||||||
|
.endif
|
||||||
|
|
||||||
.if ${.MAKE.LEVEL} == 0
|
.if ${.MAKE.LEVEL} == 0
|
||||||
# make sure dirdeps target exists and do it first
|
# make sure dirdeps target exists and do it first
|
||||||
|
19
mk/mkopt.sh
19
mk/mkopt.sh
@ -1,5 +1,5 @@
|
|||||||
:
|
:
|
||||||
# $Id: mkopt.sh,v 1.8 2014/11/15 07:07:18 sjg Exp $
|
# $Id: mkopt.sh,v 1.10 2015/06/07 17:29:08 sjg Exp $
|
||||||
#
|
#
|
||||||
# @(#) Copyright (c) 2014, Simon J. Gerraty
|
# @(#) Copyright (c) 2014, Simon J. Gerraty
|
||||||
#
|
#
|
||||||
@ -19,9 +19,10 @@
|
|||||||
|
|
||||||
# no need to be included more than once
|
# no need to be included more than once
|
||||||
_MKOPT_SH=:
|
_MKOPT_SH=:
|
||||||
|
_MKOPT_PREFIX=${_MKOPT_PREFIX:-MK_}
|
||||||
|
|
||||||
#
|
#
|
||||||
# _mk_opt OPT default
|
# _mk_opt default OPT
|
||||||
#
|
#
|
||||||
# Set MK_$OPT
|
# Set MK_$OPT
|
||||||
#
|
#
|
||||||
@ -35,7 +36,7 @@ _MKOPT_SH=:
|
|||||||
#
|
#
|
||||||
_mk_opt() {
|
_mk_opt() {
|
||||||
_d=$1
|
_d=$1
|
||||||
_mo=MK_$2 _wo=WITHOUT_$2 _wi=WITH_$2
|
_mo=${_MKOPT_PREFIX}$2 _wo=WITHOUT_$2 _wi=WITH_$2
|
||||||
eval "_mov=\$$_mo _wov=\$$_wo _wiv=\$$_wi"
|
eval "_mov=\$$_mo _wov=\$$_wo _wiv=\$$_wi"
|
||||||
|
|
||||||
case "$_wiv" in
|
case "$_wiv" in
|
||||||
@ -63,15 +64,23 @@ _mk_opts() {
|
|||||||
_d=no
|
_d=no
|
||||||
for _o in "$@"
|
for _o in "$@"
|
||||||
do
|
do
|
||||||
case "$_o" in
|
case "$_o" in
|
||||||
|
*/*) # option is dirname default comes from basename
|
||||||
|
eval "_d=\$${_MKOPT_PREFIX}${_o#*/}"
|
||||||
|
_o=${_o%/*}
|
||||||
|
;;
|
||||||
yes|no) _d=$_o; continue;;
|
yes|no) _d=$_o; continue;;
|
||||||
esac
|
esac
|
||||||
_mk_opt $_d $_o
|
_mk_opt $_d $_o
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# handle either options.mk style OPTIONS_DEFAULT_*
|
||||||
|
# or FreeBSD's new bsd.mkopt.mk style __DEFAULT_*_OPTIONS
|
||||||
_mk_opts_defaults() {
|
_mk_opts_defaults() {
|
||||||
_mk_opts no $__DEFAULT_NO_OPTIONS yes $__DEFAULT_YES_OPTIONS
|
_mk_opts no $OPTIONS_DEFAULT_NO $__DEFAULT_NO_OPTIONS \
|
||||||
|
yes $OPTIONS_DEFAULT_YES $__DEFAULT_YES_OPTIONS \
|
||||||
|
$OPTIONS_DEFAULT_DEPENDENT $__DEFAULT_DEPENDENT_OPTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
case "/$0" in
|
case "/$0" in
|
||||||
|
6
targ.c
6
targ.c
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: targ.c,v 1.59 2014/09/07 20:55:34 joerg Exp $ */
|
/* $NetBSD: targ.c,v 1.60 2015/05/25 09:01:06 manu Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1988, 1989, 1990, 1993
|
* Copyright (c) 1988, 1989, 1990, 1993
|
||||||
@ -69,14 +69,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef MAKE_NATIVE
|
#ifndef MAKE_NATIVE
|
||||||
static char rcsid[] = "$NetBSD: targ.c,v 1.59 2014/09/07 20:55:34 joerg Exp $";
|
static char rcsid[] = "$NetBSD: targ.c,v 1.60 2015/05/25 09:01:06 manu Exp $";
|
||||||
#else
|
#else
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
#if 0
|
#if 0
|
||||||
static char sccsid[] = "@(#)targ.c 8.2 (Berkeley) 3/19/94";
|
static char sccsid[] = "@(#)targ.c 8.2 (Berkeley) 3/19/94";
|
||||||
#else
|
#else
|
||||||
__RCSID("$NetBSD: targ.c,v 1.59 2014/09/07 20:55:34 joerg Exp $");
|
__RCSID("$NetBSD: targ.c,v 1.60 2015/05/25 09:01:06 manu Exp $");
|
||||||
#endif
|
#endif
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user