Makefile revision 1.39
11.39Smrg#	$NetBSD: Makefile,v 1.39 2019/02/09 21:43:23 mrg Exp $
21.6Smrg
31.6Smrg.include <bsd.own.mk>
41.6Smrg
51.6Smrg.if ${MKX11} != "no"
61.33SchristosEXTRA_DIST_FILES=	NetBSD.dist.Xorg
71.6Smrg.endif
81.6Smrg
91.19Smrg# XXX these are only used by compat currently, but they could be used
101.19Smrg# by something else; this may need to be fixed properly in the future.
111.28Smartin.if defined(MKCOMPAT) && ${MKCOMPAT} != "no"
121.25Smatt.include "${NETBSDSRCDIR}/compat/archdirs.mk"
131.39Smrg.if exists(NetBSD.compat.${MACHINE_ARCH})
141.39SmrgEXTRA_DIST_FILES+=	NetBSD.compat.${MACHINE_ARCH}
151.13Smrg.endif
161.25SmattEXTRA_DIST_FILES+=	NetBSD.dist.compat	# autogenerated
171.29Smrg.if defined(MKCOMPATX11) && ${MKCOMPATX11} != "no" && ${MKX11} != "no"
181.26SmattEXTRA_DIST_FILES+=	NetBSD.dist.xcompat	# autogenerated
191.26Smatt.endif
201.19Smrg.endif
211.13Smrg
221.39Smrg.if exists(NetBSD.dist.${MACHINE_ARCH})
231.39SmrgEXTRA_DIST_FILES+=	NetBSD.dist.${MACHINE_ARCH}
241.39Smrg.endif
251.39Smrg
261.37Smrg.if exists(NetBSD.dist.${MACHINE})
271.37SmrgEXTRA_DIST_FILES+=	NetBSD.dist.${MACHINE}
281.37Smrg.endif
291.37Smrg
301.18Snjoly.if ${MKATF} != "no"
311.33SchristosEXTRA_DIST_FILES+=	NetBSD.dist.tests
321.28Smartin.if defined(MKCOMPATTESTS) && ${MKCOMPATTESTS} != "no"
331.25SmattEXTRA_DIST_FILES+=	NetBSD.dist.tests.compat
341.25Smatt.endif
351.18Snjoly.endif
361.18Snjoly
371.30Sriz.if ${MKDTRACE} != "no"
381.33SchristosEXTRA_DIST_FILES+=	NetBSD.dist.dtrace
391.30Sriz.endif
401.30Sriz
411.11Suebayasi.if ${MKEXTSRC} != "no"
421.33SchristosEXTRA_DIST_FILES+=	NetBSD.dist.extsrc
431.11Suebayasi.endif
441.11Suebayasi
451.38Smrg.if ${MKISCSI} != "no"
461.38SmrgEXTRA_DIST_FILES+=	NetBSD.dist.iscsi
471.38Smrg.endif
481.38Smrg
491.22SapbNetBSD.dist:	NetBSD.dist.tmp
501.22Sapb	cmp -s NetBSD.dist.tmp NetBSD.dist || { \
511.14Suebayasi		echo "Updating NetBSD.dist"; \
521.22Sapb		mv NetBSD.dist.tmp NetBSD.dist; \
531.14Suebayasi	}
541.35Schristos# Rebuild every time
551.35Schristos.PHONY: NetBSD.dist.tmp
561.33SchristosNetBSD.dist.tmp: NetBSD.dist.base ${EXTRA_DIST_FILES}
571.33Schristos	${TOOL_CAT} ${.ALLSRC} > ${.TARGET}
581.1Smrg
591.33SchristosNetBSD.dist.compat: NetBSD.dist.compat.in mkcompat.awk
601.25Smatt	${MKCREATE}
611.33Schristos	${TOOL_AWK} -f ${.ALLSRC:M*.awk} -v COMPATDIRS=${ARCHDIR_SUBDIR:T:Q} \
621.33Schristos	    ${.ALLSRC:M*.in} > ${.TARGET}
631.25Smatt
641.33SchristosNetBSD.dist.xcompat: NetBSD.dist.xcompat.in mkcompat.awk
651.26Smatt	${MKCREATE}
661.33Schristos	${TOOL_AWK} -f ${.ALLSRC:M*.awk} -v COMPATDIRS=${ARCHDIR_SUBDIR:T:Q} \
671.33Schristos	    ${.ALLSRC:M*.in} > ${.TARGET}
681.26Smatt
691.33SchristosNetBSD.dist.tests.compat: NetBSD.dist.tests mkcompattree.awk 
701.25Smatt	${MKCREATE}
711.36Smatt	${TOOL_AWK} -f ${.ALLSRC:M*.awk} \
721.25Smatt	    -v COMPATDIRS=${ARCHDIR_SUBDIR:T:Q} -v S="usr/tests" \
731.33Schristos		${.ALLSRC:M*.tests} > ${.TARGET}
741.25Smatt
751.5SlukemCONFIGFILES=	NetBSD.dist special
761.1SmrgFILESDIR=	/etc/mtree
771.1Smrg
781.6Smrg# distrib-dirs --
791.6Smrg#	Populate $DESTDIR with directories needed by NetBSD
801.6Smrg#
811.6Smrg.if ${MKUNPRIVED} == "no"
821.6SmrgTOOL_MTREE.unpriv=
831.6Smrg.else
841.6SmrgTOOL_MTREE.unpriv=	-W
851.6Smrg.endif
861.6Smrg
871.17Sdyoung# postinstall(8) invokes this target to produce the right
881.17Sdyoung# /etc/mtree/NetBSD.dist content without duplicating logic from
891.17Sdyoung# the Makefile.
901.17Sdyoung#
911.33Schristosemit_dist_file:	NetBSD.dist.base ${EXTRA_DIST_FILES}
921.33Schristos	@cat ${.ALLSRC}
931.16Sdyoung
941.10Sdrochnerdistrib-dirs: .PHONY check_DESTDIR NetBSD.dist
951.6Smrg.if !defined(DISTRIBUTION_DONE)						# {
961.6Smrg# Create DESTDIR using HOST_INSTALL_DIR, not INSTALL_DIR, because
971.6Smrg# INSTALL_DIR would want to write to the metalog, and it can't do that
981.6Smrg# if the metalog is inside DESTDIR but DESTDIR doesn't yet exist.
991.6Smrg	${HOST_INSTALL_DIR} -m 755 ${DESTDIR}
1001.20Sjym# Invoke mtree to create the directories listed in NetBSD.dist;
1011.6Smrg# then invoke mtree again to register those directories in the metalog.
1021.6Smrg	${TOOL_MTREE} -def ${.OBJDIR}/NetBSD.dist -N ${.CURDIR}/.. \
1031.6Smrg	    -p ${DESTDIR}/ -U ${TOOL_MTREE.unpriv}
1041.6Smrg.if ${MKUNPRIVED} != "no"						# {
1051.6Smrg	${TOOL_MTREE} -def ${.OBJDIR}/NetBSD.dist -N ${.CURDIR}/.. \
1061.6Smrg	    -p ${DESTDIR}/ -C -k all | \
1071.6Smrg	    ${TOOL_AWK} '/ optional/ {next} // {print}' | ${METALOG.add}
1081.6Smrg.endif	# MKUNPRIVED							# }
1091.6Smrg.endif	# DISTRIBUTION_DONE						# }
1101.6Smrg
1111.22SapbCLEANFILES+=	NetBSD.dist NetBSD.dist.tmp
1121.25SmattCLEANFILES+=	NetBSD.dist.compat
1131.25SmattCLEANFILES+=	NetBSD.dist.tests.compat
1141.10Sdrochner
1151.1Smrg.include <bsd.prog.mk>
116