summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2016-01-27 01:33:26 +0000
committerbdrewery <bdrewery@FreeBSD.org>2016-01-27 01:33:26 +0000
commitbda9fd0b43dbaa6b84cf8ec8e36f97987ab92249 (patch)
treea6dc8f3512223668f1ddd577518c23be935d6aaf /share/mk
parent273b2d98ab2ca59155970f71a9edc9d7c79d0e68 (diff)
downloadFreeBSD-src-bda9fd0b43dbaa6b84cf8ec8e36f97987ab92249.zip
FreeBSD-src-bda9fd0b43dbaa6b84cf8ec8e36f97987ab92249.tar.gz
Revert yacc dependency back to pre-r241298.
Several attempts to fix this logic was done after r241298, which were all reverted, yet this change was not. The .h file does not depend on the .c file, so do not impose such a dependency on it. They are generated by the same command but do not depend on each other. Restore the .ORDER which should handle parallel build issues. This fixes an actual bug where the .h file is not recreated when missing [1]. For example: cd lib/libc make cleanobj make nsparser.h rm nsparser.h make nsparser.h # will not rebuild nsparser.h I have been trying to track down a build problem where nsparser.h is missing when nslexer.o is built. It is possible this is related. Reported by: bde [1] https://lists.freebsd.org/pipermail/svn-src-all/2012-October/059481.html https://lists.freebsd.org/pipermail/svn-src-all/2012-October/060038.html MFC after: 3 weeks Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.dep.mk4
1 files changed, 2 insertions, 2 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk
index f7f475e..948f3100 100644
--- a/share/mk/bsd.dep.mk
+++ b/share/mk/bsd.dep.mk
@@ -110,8 +110,8 @@ ${_YC} y.tab.h: ${_YSRC}
CLEANFILES+= y.tab.c y.tab.h
.elif !empty(YFLAGS:M-d)
.for _YH in ${_YC:R}.h
-${_YH}: ${_YC}
-${_YC}: ${_YSRC}
+.ORDER: ${_YC} ${_YH}
+${_YC} ${_YH}: ${_YSRC}
${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC}
SRCS+= ${_YH}
CLEANFILES+= ${_YH}
OpenPOWER on IntegriCloud