Latest dirdeps.mk sets DEP_RELDIR for itself.
This helps guard against bugs in manually edited Makefile.depend files, and avoids the need to call realpath from the Makefile.depend file.
This commit is contained in:
+9
-2
@@ -1,4 +1,4 @@
|
|||||||
# $Id: dirdeps.mk,v 1.53 2015/05/24 07:08:24 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.
|
||||||
@@ -588,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
|
||||||
@@ -603,7 +608,9 @@ _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
|
||||||
|
|||||||
+12
-3
@@ -1,4 +1,4 @@
|
|||||||
# $Id: gendirdeps.mk,v 1.25 2014/03/14 21:28:37 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.
|
||||||
@@ -93,6 +93,17 @@ _skip_gendirdeps = egrep -v '^(${SKIP_GENDIRDEPS:O:u:ts|})' |
|
|||||||
_skip_gendirdeps =
|
_skip_gendirdeps =
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
|
# Below we will turn _{VAR} into ${VAR} which keeps this simple
|
||||||
|
# GENDIRDEPS_FILTER_DIR_VARS is a list of dirs to be substiuted for.
|
||||||
|
# GENDIRDEPS_FILTER_VARS is more general.
|
||||||
|
# In each case order matters.
|
||||||
|
.if !empty(GENDIRDEPS_FILTER_DIR_VARS)
|
||||||
|
GENDIRDEPS_FILTER += ${GENDIRDEPS_FILTER_DIR_VARS:@v@S,${$v},_{${v}},@}
|
||||||
|
.endif
|
||||||
|
.if !empty(GENDIRDEPS_FILTER_VARS)
|
||||||
|
GENDIRDEPS_FILTER += ${GENDIRDEPS_FILTER_VARS:@v@S,/${$v}/,/_{${v}}/,@:NS,//,*:u}
|
||||||
|
.endif
|
||||||
|
|
||||||
# this (*should* be set in meta.sys.mk)
|
# this (*should* be set in meta.sys.mk)
|
||||||
# is the script that extracts what we want.
|
# is the script that extracts what we want.
|
||||||
META2DEPS ?= ${.PARSEDIR}/meta2deps.sh
|
META2DEPS ?= ${.PARSEDIR}/meta2deps.sh
|
||||||
@@ -300,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} \
|
||||||
@@ -321,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>'; \
|
||||||
|
|||||||
Reference in New Issue
Block a user