summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/mk/bsd.dep.mk9
1 files changed, 6 insertions, 3 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk
index 30f2b8f..aac932a 100644
--- a/share/mk/bsd.dep.mk
+++ b/share/mk/bsd.dep.mk
@@ -60,15 +60,18 @@ DEPENDFILES= ${DEPENDFILE}
.if ${MK_FAST_DEPEND} == "yes" && ${.MAKE.MODE:Unormal:Mmeta*} == ""
DEPENDFILES+= ${DEPENDFILE}.*
DEPEND_MP?= -MP
-DEPEND_CFLAGS+= -MD -MF${DEPENDFILE}.${.TARGET}
+# Handle OBJS=../somefile.o hacks. Just replace '/' rather than use :T to
+# avoid collisions.
+DEPEND_FILTER= C,/,_,g
+DEPEND_CFLAGS+= -MD -MF${DEPENDFILE}.${.TARGET:${DEPEND_FILTER}}
DEPEND_CFLAGS+= -MT${.TARGET}
CFLAGS+= ${DEPEND_CFLAGS}
DEPENDOBJS+= ${OBJS} ${POBJS} ${SOBJS}
.for __obj in ${DEPENDOBJS:O:u}
.if ${.MAKEFLAGS:M-V} == ""
-.sinclude "${DEPENDFILE}.${__obj}"
+.sinclude "${DEPENDFILE}.${__obj:${DEPEND_FILTER}}"
.endif
-DEPENDFILES_OBJS+= ${DEPENDFILE}.${__obj}
+DEPENDFILES_OBJS+= ${DEPENDFILE}.${__obj:${DEPEND_FILTER}}
.endfor
.endif # ${MK_FAST_DEPEND} == "yes"
OpenPOWER on IntegriCloud