Module Name:    src
Committed By:   lukem
Date:           Sat Nov 23 07:39:05 UTC 2024

Modified Files:
        src/crypto/external/bsd/heimdal: Makefile.rules.inc

Log Message:
heimdal: fix parallel make includes

Split out the rules that generate SRC_asn1.h and SRC_asn1-priv.h
from SRC.asn1 into their own explicit targets that create those files
from the intermediate SRC.ts, which may help with parallel builds.
Add MAKEVERBOSE messages to improve debugging.

PR toolchain/58771: missing dependency breaks parallel build


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/crypto/external/bsd/heimdal/Makefile.rules.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/heimdal/Makefile.rules.inc
diff -u src/crypto/external/bsd/heimdal/Makefile.rules.inc:1.10 src/crypto/external/bsd/heimdal/Makefile.rules.inc:1.11
--- src/crypto/external/bsd/heimdal/Makefile.rules.inc:1.10	Fri Nov  1 23:43:32 2024
+++ src/crypto/external/bsd/heimdal/Makefile.rules.inc	Sat Nov 23 07:39:04 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.rules.inc,v 1.10 2024/11/01 23:43:32 riastradh Exp $
+# $NetBSD: Makefile.rules.inc,v 1.11 2024/11/23 07:39:04 lukem Exp $
 
 SRCS+= ${HEIMSRCS:N*.et:N*.in:N*.asn1}
 
@@ -9,6 +9,7 @@ COMPILE_ET_INCS+=	${et_src:.et=.h}
 OBJS+=			${et_src:.et=.o}
 
 ${et_src:.et=.c} ${et_src:.et=.h}: ${et_src} ${TOOL_COMPILE_ET}
+	${_MKTARGET_CREATE}
 	${TOOL_COMPILE_ET} ${.ALLSRC:[1]}
 
 .endfor
@@ -37,34 +38,35 @@ ASN1_INCS += ${src:.asn1=_asn1.h}
 DPSRCS +=	${src:.asn1=_asn1.h} ${src:.asn1=_asn1-priv.h}
 OBJS +=		${ASN1_FILES.${src}:.x=.o}
 
-${ASN1_FILES.${src}} ${src:.asn1=_asn1.h} ${src:.asn1=_asn1-priv.h}: \
-	 ${src:.asn1=.ts}
+${ASN1_FILES.${src}}: ${src:.asn1=.ts}
+
+${src:.asn1=_asn1.h}: ${src:.asn1=.ts}
+	${_MKTARGET_CREATE}
+	@${TOOL_SED} -E 						\
+	    -e 's,#include <(.*)_asn1\.h>,#include <krb5/\1_asn1.h>,'	\
+	    2> /dev/null < ${src:.asn1=_asn1.hx} > ${src:.asn1=_asn1.h}
+
+${src:.asn1=_asn1-priv.h}: ${src:.asn1=.ts}
+	${_MKTARGET_CREATE}
+	@cmp -s ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h}	\
+	    2> /dev/null ||						\
+	    cp ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h}
 
 .if exists(${src:.asn1=.opt})
 ${src:.asn1=.ts}: ${src} ${src:.asn1=.opt} ${TOOL_ASN1_COMPILE}
+	${_MKTARGET_CREATE}
 	@touch $@
 	${TOOL_ASN1_COMPILE}			\
 		${ASN1_OPTS.${src}}		\
 		--option-file=${.ALLSRC:[2]}	\
 		${.ALLSRC:[1]} ${src:.asn1=_asn1}
-	@${TOOL_SED} -E 						\
-	    -e 's,#include <(.*)_asn1\.h>,#include <krb5/\1_asn1.h>,'	\
-	    2> /dev/null < ${src:.asn1=_asn1.hx} > ${src:.asn1=_asn1.h}
-	@cmp -s ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h}	\
-	    2> /dev/null ||						\
-	    cp ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h}
 .else
 ${src:.asn1=.ts}: ${src} ${TOOL_ASN1_COMPILE}
+	${_MKTARGET_CREATE}
 	@touch $@
 	${TOOL_ASN1_COMPILE}			\
 		${ASN1_OPTS.${src}}		\
 		${.ALLSRC:[1]} ${src:.asn1=_asn1}
-	@${TOOL_SED} -E 						\
-	    -e 's,#include <(.*)_asn1\.h>,#include <krb5/\1_asn1.h>,'	\
-	    2> /dev/null < ${src:.asn1=_asn1.hx} > ${src:.asn1=_asn1.h}
-	@cmp -s ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h}	\
-	    2> /dev/null ||						\
-	    cp ${src:.asn1=_asn1-priv.hx} ${src:.asn1=_asn1-priv.h}
 .endif
 
 .if ${MKREPRO:Uno} == "yes"
@@ -73,6 +75,7 @@ NORMALIZE_SRC=-e "s@${NETBSDSRCDIR}@/usr
 
 .for x2c in ${ASN1_FILES.${src}}
 ${x2c:.x=.c}: ${x2c}
+	${_MKTARGET_CREATE}
 	@${TOOL_SED} ${NORMALIZE_SRC} < ${.ALLSRC} > ${x2c}.r
 	@cmp -s ${x2c}.r ${x2c:.x=.c} 2> /dev/null || cp ${x2c}.r ${x2c:.x=.c}
 	@rm -f ${x2c}.r
@@ -90,6 +93,7 @@ OBJS+=		${slc_src:.in=.o}
 SLC_INCS+=	${slc_src:.in=.h}
 
 ${slc_src:.in=.c} ${slc_src:.in=.h}: ${slc_src}
+	${_MKTARGET_CREATE}
 	${TOOL_SLC} ${.ALLSRC}
 
 .endfor

Reply via email to