diff options
| author | Simon J. Gerraty <sjg@FreeBSD.org> | 2016-12-19 21:50:59 +0000 |
|---|---|---|
| committer | Simon J. Gerraty <sjg@FreeBSD.org> | 2016-12-19 21:50:59 +0000 |
| commit | b9b4b0cc41d3b0698aa59d332a8583931e6922eb (patch) | |
| tree | 254f665b6b9d9f859f3eeef1e7e0652fe7c91bbd /mk/sys.mk | |
| parent | cdfa59c89c7a4274fa9ef8ce13af86fc68d6f47e (diff) | |
Import bmake-20161212vendor/NetBSD/bmake/20161212
From ChangeLog
2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile (_MAKE_VERSION): 20161212
Merge with NetBSD make, pick up
o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile (_MAKE_VERSION): 20161209
Merge with NetBSD make, pick up
o main.c: cleanup setting of .OBJDIR
o parse.c: avoid coredump from (var)=val
2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile (_MAKE_VERSION): 20161126
Merge with NetBSD make, pick up
o make.c: Make_OODate: report src node name if path not set
2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile (_MAKE_VERSION): 20160926
Merge with NetBSD make, pick up
o support for .DELETE_ON_ERROR: (remove targets that fail)
2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
* Makefile MAN: tweak .Dt to match ${PROG}
mk/ChangeLog
2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
* install-mk (MK_VERSION): 20161212
* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
rather than when we detect pid change.
2016-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
* install-mk (MK_VERSION): 20161207
* meta.stage.mk: add stage_as_and_symlink for staging packages.
We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
to use foo.tgz to reference the latest staged version - so we
make foo.tgz a symlink to it.
Using a target to do both operations ensures we stay in sync.
2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
* install-mk (MK_VERSION): 20161126
* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
so it can add dependencies.
2016-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
do that they can influence the result correctly.
* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
2016-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
* dirdeps.mk: remove dependence on jot (normal situations anyway).
Before we read another Makefile.depend* set DEP_* vars from
_DEP_TARGET_SPEC in case it uses any of them with :=
When bootstrapping, trim any ,* from extention of chosen _src
Makefile.depend* to get the machine value we subst for.
2016-09-30 Simon J. Gerraty <sjg@bad.crufty.net>
* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
* sys.mk: extract some bits to sys.{debug,vars}.mk
for easier re-use by others.
2016-09-23 Simon Gerraty <sjg@sjg-mba13>
* lib.mk: Use ${PICO} for extension for PIC objects.
default to .pico (like NetBSD) safe on case insensitive filesystem.
2016-08-19 Simon J. Gerraty <sjg@bad.crufty.net>
* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
Diffstat (limited to 'mk/sys.mk')
| -rw-r--r-- | mk/sys.mk | 79 |
1 files changed, 5 insertions, 74 deletions
diff --git a/mk/sys.mk b/mk/sys.mk index 325ce827c5ad..832dfc81f8c9 100644 --- a/mk/sys.mk +++ b/mk/sys.mk @@ -1,4 +1,4 @@ -# $Id: sys.mk,v 1.43 2016/04/05 15:58:37 sjg Exp $ +# $Id: sys.mk,v 1.44 2016/10/01 19:11:55 sjg Exp $ # # @(#) Copyright (c) 2003-2009, Simon J. Gerraty # @@ -15,38 +15,8 @@ # Avoid putting anything platform specific in here. -# We use the following paradigm for preventing multiple inclusion. -# It relies on the fact that conditionals and dependencies are resolved -# at the time they are read. -# -# _this ?= ${.PARSEFILE} -# .if !target(__${_this}__) -# __${_this}__: -# -.if ${MAKE_VERSION:U0} > 20100408 -_this = ${.PARSEDIR:tA}/${.PARSEFILE} -.else -_this = ${.PARSEDIR}/${.PARSEFILE} -.endif - -# Sometimes we want to turn on debugging in just one or two places -# if .CURDIR is matched by any entry in DEBUG_MAKE_SYS_DIRS we -# will apply DEBUG_MAKE_FLAGS now. -# if an entry in DEBUG_MAKE_DIRS matches, we at the end of sys.mk -# eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_SYS_DIRS="*lib/sjg" -# use DEBUG_MAKE_FLAGS0 to apply only to .MAKE.LEVEL 0 -# -.if ${.MAKE.LEVEL:U1} == 0 -# we use indirection, to simplify the tests below, and incase -# DEBUG_* were given on our command line. -_DEBUG_MAKE_FLAGS = ${DEBUG_MAKE_FLAGS0} -_DEBUG_MAKE_SYS_DIRS = ${DEBUG_MAKE_SYS_DIRS0:U${DEBUG_MAKE_SYS_DIRS}} -_DEBUG_MAKE_DIRS = ${DEBUG_MAKE_DIRS0:U${DEBUG_MAKE_DIRS}} -.else -_DEBUG_MAKE_FLAGS = ${DEBUG_MAKE_FLAGS} -_DEBUG_MAKE_SYS_DIRS = ${DEBUG_MAKE_SYS_DIRS} -_DEBUG_MAKE_DIRS = ${DEBUG_MAKE_DIRS} -.endif +# _DEBUG_MAKE_FLAGS etc. +.include <sys.debug.mk> .if !empty(_DEBUG_MAKE_FLAGS) .if ${_DEBUG_MAKE_SYS_DIRS:Uno:@x@${.CURDIR:M$x}@} != "" @@ -54,47 +24,8 @@ _DEBUG_MAKE_DIRS = ${DEBUG_MAKE_DIRS} .endif .endif -# if this is an ancient version of bmake -MAKE_VERSION ?= 0 -.if ${MAKE_VERSION:M*make-*} -# turn it into what we want - just the date -MAKE_VERSION := ${MAKE_VERSION:[1]:C,.*-,,} -.endif - -# some useful modifiers - -# A useful trick for testing multiple :M's against something -# :L says to use the variable's name as its value - ie. literal -# got = ${clean* destroy:${M_ListToMatch:S,V,.TARGETS,}} -M_ListToMatch = L:@m@$${V:M$$m}@ -# match against our initial targets (see above) -M_L_TARGETS = ${M_ListToMatch:S,V,_TARGETS,} - -# turn a list into a set of :N modifiers -# NskipFoo = ${Foo:${M_ListToSkip}} -M_ListToSkip= O:u:ts::S,:,:N,g:S,^,N, - -# type should be a builtin in any sh since about 1980, -# but sadly there are exceptions! -.if ${.MAKE.OS:Unknown:NBSD/OS} == "" -_type_sh = which -.endif -# AUTOCONF := ${autoconf:L:${M_whence}} -M_type = @x@(${_type_sh:Utype} $$x) 2> /dev/null; echo;@:sh:[0]:N* found*:[@]:C,[()],,g -M_whence = ${M_type}:M/*:[1] - -# convert a path to a valid shell variable -M_P2V = tu:C,[./-],_,g - -# convert path to absolute -.if ${MAKE_VERSION:U0} > 20100408 -M_tA = tA -.else -M_tA = C,.*,('cd' & \&\& 'pwd') 2> /dev/null || echo &,:sh -.endif - -# absoulte path to what we are reading. -_PARSEDIR = ${.PARSEDIR:${M_tA}} +# useful modifiers +.include <sys.vars.mk> # we expect a recent bmake .if !defined(_TARGETS) |
