1 # $Id: sys.dependfile.mk,v 1.8 2016/03/11 01:34:13 sjg Exp $
3 # @(#) Copyright (c) 2012, Simon J. Gerraty
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
12 # Please send copies of changes and bug-fixes to:
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:
21 # 2. that machine specific files end in .${MACHINE}
23 # The .MAKE.DEPENDFILE_PREFERENCE below is an example.
25 # All depend file names should start with this
26 .MAKE.DEPENDFILE_PREFIX ?
= Makefile.depend
28 .if
!empty
(.MAKE.DEPENDFILE
) && \
29 ${.MAKE.DEPENDFILE
:M
${.MAKE.DEPENDFILE_PREFIX
}*} == ""
30 # let us do our thing below...
31 .undef .MAKE.DEPENDFILE
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
}
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]}
44 _e
:= ${.MAKE.DEPENDFILE_PREFERENCE
:@m@
${exists
($m):?
$m:}@
}
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
53 _e
:= ${_aml
:@MACHINE@
${.MAKE.DEPENDFILE_PREFERENCE
:@m@
${exists
($m):?
$m:}@
}@
}
56 .MAKE.DEPENDFILE ?
= ${.MAKE.DEPENDFILE_PREFERENCE
:M
*${MACHINE}:[1]}
59 .MAKE.DEPENDFILE ?
= ${.MAKE.DEPENDFILE_DEFAULT
}