ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/vendor/NetBSD/bmake/20170720/mk/sys.dependfile.mk
Revision: 11139
Committed: Wed Jun 27 00:17:36 2018 UTC (5 years, 10 months ago) by laffer1
File size: 2136 byte(s)
Log Message:
tag 20170720

File Contents

# Content
1 # $Id: sys.dependfile.mk,v 1.8 2016/03/11 01:34:13 sjg Exp $
2 #
3 # @(#) Copyright (c) 2012, Simon J. Gerraty
4 #
5 # This file is provided in the hope that it will
6 # be of use. There is absolutely NO WARRANTY.
7 # Permission to copy, redistribute or otherwise
8 # use this file is hereby granted provided that
9 # the above copyright notice and this notice are
10 # left intact.
11 #
12 # Please send copies of changes and bug-fixes to:
13 # sjg@crufty.net
14 #
15
16 # This only makes sense in meta mode.
17 # This allows a mixture of auto generated as well as manually edited
18 # dependency files, which can be differentiated by their names.
19 # As per dirdeps.mk we only require:
20 # 1. a common prefix
21 # 2. that machine specific files end in .${MACHINE}
22 #
23 # The .MAKE.DEPENDFILE_PREFERENCE below is an example.
24
25 # All depend file names should start with this
26 .MAKE.DEPENDFILE_PREFIX ?= Makefile.depend
27
28 .if !empty(.MAKE.DEPENDFILE) && \
29 ${.MAKE.DEPENDFILE:M${.MAKE.DEPENDFILE_PREFIX}*} == ""
30 # let us do our thing below...
31 .undef .MAKE.DEPENDFILE
32 .endif
33
34 # The order of preference: we will use the first one of these we find.
35 # It usually makes sense to order from most specific to least.
36 .MAKE.DEPENDFILE_PREFERENCE ?= \
37 ${.CURDIR}/${.MAKE.DEPENDFILE_PREFIX}.${MACHINE} \
38 ${.CURDIR}/${.MAKE.DEPENDFILE_PREFIX}
39
40 # Normally the 1st entry is our default choice
41 # Another useful default is ${.MAKE.DEPENDFILE_PREFIX}
42 .MAKE.DEPENDFILE_DEFAULT ?= ${.MAKE.DEPENDFILE_PREFERENCE:[1]}
43
44 _e := ${.MAKE.DEPENDFILE_PREFERENCE:@m@${exists($m):?$m:}@}
45 .if !empty(_e)
46 .MAKE.DEPENDFILE := ${_e:[1]}
47 .elif ${.MAKE.DEPENDFILE_PREFERENCE:M*${MACHINE}} != "" && ${.MAKE.DEPENDFILE_DEFAULT:E} != ${MACHINE}
48 # MACHINE specific depend files are supported, but *not* default.
49 # If any already exist, we should follow suit.
50 _aml = ${ALL_MACHINE_LIST:Uarm amd64 i386 powerpc:N${MACHINE}} ${MACHINE}
51 # make sure we restore MACHINE
52 _m := ${MACHINE}
53 _e := ${_aml:@MACHINE@${.MAKE.DEPENDFILE_PREFERENCE:@m@${exists($m):?$m:}@}@}
54 MACHINE := ${_m}
55 .if !empty(_e)
56 .MAKE.DEPENDFILE ?= ${.MAKE.DEPENDFILE_PREFERENCE:M*${MACHINE}:[1]}
57 .endif
58 .endif
59 .MAKE.DEPENDFILE ?= ${.MAKE.DEPENDFILE_DEFAULT}