Rework r349061: Don't apply guessed dependencies if there is a custom target.

This is still targeting bin/sh cyclic dependency issues.  Only apply
guessed dependencies that are explicitly set for an object (which
gnu/lib/cc/cc_tools needs) and if no custom target exists with its
own dependencies.

This was manifesting as a missing yacc.h in usr.bin/mkesdb_static when
built without -j (or -B). No actual yacc.h dependency ordering was
defined but with -j it got lucky and built fine.

Before r349061 the behavior was different for META_MODE but that logic
difference isn't needed.

X-MFC-With:	r349061
Sponsored by:	DellEMC
This commit is contained in:
Bryan Drewery 2019-06-18 22:00:38 +00:00
parent 5c32e9fcb2
commit 46dea205c6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=349179

View File

@ -264,7 +264,9 @@ _depfile= ${.OBJDIR}/${_dep_obj}
# - For meta mode we still need to know which file to depend on to avoid
# ambiguous suffix transformation rules from .PATH. Meta mode does not
# use .depend files when filemon is in use.
${__obj}: ${OBJS_DEPEND_GUESS:N*.h}
.if !target(${__obj})
${__obj}: ${OBJS_DEPEND_GUESS}
.endif
${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
.endif # !exists(${_depfile}) || defined(_meta_filemon)
.endfor