Author: bdrewery Date: Tue Dec 1 03:09:54 2015 New Revision: 291555 URL: https://svnweb.freebsd.org/changeset/base/291555
Log: FAST_DEPEND: Workaround hacks in the wild that have '..' or '/' in OBJS. This is mostly working around the converts/iconv port having '../ces/file.o' in its OBJS list which resulted in '.depend../ces/file.o'. Now it will have '.depend.._ces_file.o'. Other implementations have :T which would result in '.depend.file.o' here, but that could lead to collisions. X-MFC-With: r291554 MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.dep.mk Modified: head/share/mk/bsd.dep.mk ============================================================================== --- head/share/mk/bsd.dep.mk Tue Dec 1 03:00:10 2015 (r291554) +++ head/share/mk/bsd.dep.mk Tue Dec 1 03:09:54 2015 (r291555) @@ -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" _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"