Makefile revision 1.25
11.25Smatt#	$NetBSD: Makefile,v 1.25 2015/06/19 18:16:06 matt Exp $
21.6Smrg
31.6Smrg.include <bsd.own.mk>
41.6Smrg
51.6Smrg.if ${MKX11} != "no"
61.6Smrg. if ${X11FLAVOUR} == "Xorg"
71.12SmrgEXTRA_DIST_FILES=	${.CURDIR}/NetBSD.dist.Xorg
81.6Smrg. else
91.12SmrgEXTRA_DIST_FILES=	${.CURDIR}/NetBSD.dist.XFree86
101.6Smrg. endif
111.6Smrg.endif
121.6Smrg
131.19Smrg# XXX these are only used by compat currently, but they could be used
141.19Smrg# by something else; this may need to be fixed properly in the future.
151.19Smrg.if ${MKCOMPAT} != "no"
161.25Smatt.include "${NETBSDSRCDIR}/compat/archdirs.mk"
171.13Smrg.if exists(NetBSD.dist.${MACHINE_ARCH})
181.13SmrgEXTRA_DIST_FILES+=	${.CURDIR}/NetBSD.dist.${MACHINE_ARCH}
191.23Smatt.elif !empty(MACHINE_ARCH:Mearm*)
201.23SmattEXTRA_DIST_FILES+=	${.CURDIR}/NetBSD.dist.earm
211.13Smrg.endif
221.25SmattEXTRA_DIST_FILES+=	NetBSD.dist.compat	# autogenerated
231.19Smrg.endif
241.13Smrg
251.18Snjoly.if ${MKATF} != "no"
261.18SnjolyEXTRA_DIST_FILES+=	${.CURDIR}/NetBSD.dist.tests
271.25Smatt.if ${MKCOMPATTESTS} != "no"
281.25SmattEXTRA_DIST_FILES+=	NetBSD.dist.tests.compat
291.25Smatt.endif
301.18Snjoly.endif
311.18Snjoly
321.11Suebayasi.if ${MKEXTSRC} != "no"
331.12SmrgEXTRA_DIST_FILES+=	${.CURDIR}/NetBSD.dist.extsrc
341.11Suebayasi.endif
351.11Suebayasi
361.22SapbNetBSD.dist:	NetBSD.dist.tmp
371.22Sapb	cmp -s NetBSD.dist.tmp NetBSD.dist || { \
381.14Suebayasi		echo "Updating NetBSD.dist"; \
391.22Sapb		mv NetBSD.dist.tmp NetBSD.dist; \
401.14Suebayasi	}
411.25SmattNetBSD.dist.tmp:: ${.CURDIR}/NetBSD.dist.base ${EXTRA_DIST_FILES}
421.12Smrg	${TOOL_CAT} ${.CURDIR}/NetBSD.dist.base ${EXTRA_DIST_FILES} > \
431.9Sstacktic	    ${.TARGET}
441.1Smrg
451.25SmattNetBSD.dist.compat: ${.CURDIR}/NetBSD.dist.compat.in ${.CURDIR}/mkcompat.awk
461.25Smatt	${MKCREATE}
471.25Smatt	${TOOL_AWK} -f ${.CURDIR}/mkcompat.awk \
481.25Smatt	    -v COMPATDIRS=${ARCHDIR_SUBDIR:T:Q} \
491.25Smatt		${.CURDIR}/NetBSD.dist.compat.in \
501.25Smatt	     > ${.TARGET}
511.25Smatt
521.25SmattNetBSD.dist.tests.compat: ${.CURDIR}/NetBSD.dist.tests \
531.25Smatt		${.CURDIR}/mkcompattree.awk 
541.25Smatt	${MKCREATE}
551.25Smatt	${TOOL_AWK} -f ${.CURDIR}/mkcompattree.awk \
561.25Smatt	    -v COMPATDIRS=${ARCHDIR_SUBDIR:T:Q} -v S="usr/tests" \
571.25Smatt		${.CURDIR}/NetBSD.dist.tests \
581.25Smatt	     > ${.TARGET}
591.25Smatt
601.5SlukemCONFIGFILES=	NetBSD.dist special
611.1SmrgFILESDIR=	/etc/mtree
621.1Smrg
631.6Smrg# distrib-dirs --
641.6Smrg#	Populate $DESTDIR with directories needed by NetBSD
651.6Smrg#
661.6Smrg.if ${MKUNPRIVED} == "no"
671.6SmrgTOOL_MTREE.unpriv=
681.6Smrg.else
691.6SmrgTOOL_MTREE.unpriv=	-W
701.6Smrg.endif
711.6Smrg
721.17Sdyoung# postinstall(8) invokes this target to produce the right
731.17Sdyoung# /etc/mtree/NetBSD.dist content without duplicating logic from
741.17Sdyoung# the Makefile.
751.17Sdyoung#
761.16Sdyoungemit_dist_file:
771.24Schristos	@cat ${.CURDIR}/NetBSD.dist.base ${EXTRA_DIST_FILES}
781.16Sdyoung
791.10Sdrochnerdistrib-dirs: .PHONY check_DESTDIR NetBSD.dist
801.6Smrg.if !defined(DISTRIBUTION_DONE)						# {
811.6Smrg# Create DESTDIR using HOST_INSTALL_DIR, not INSTALL_DIR, because
821.6Smrg# INSTALL_DIR would want to write to the metalog, and it can't do that
831.6Smrg# if the metalog is inside DESTDIR but DESTDIR doesn't yet exist.
841.6Smrg	${HOST_INSTALL_DIR} -m 755 ${DESTDIR}
851.20Sjym# Invoke mtree to create the directories listed in NetBSD.dist;
861.6Smrg# then invoke mtree again to register those directories in the metalog.
871.6Smrg	${TOOL_MTREE} -def ${.OBJDIR}/NetBSD.dist -N ${.CURDIR}/.. \
881.6Smrg	    -p ${DESTDIR}/ -U ${TOOL_MTREE.unpriv}
891.6Smrg.if ${MKUNPRIVED} != "no"						# {
901.6Smrg	${TOOL_MTREE} -def ${.OBJDIR}/NetBSD.dist -N ${.CURDIR}/.. \
911.6Smrg	    -p ${DESTDIR}/ -C -k all | \
921.6Smrg	    ${TOOL_AWK} '/ optional/ {next} // {print}' | ${METALOG.add}
931.6Smrg.endif	# MKUNPRIVED							# }
941.6Smrg.endif	# DISTRIBUTION_DONE						# }
951.6Smrg
961.22SapbCLEANFILES+=	NetBSD.dist NetBSD.dist.tmp
971.25SmattCLEANFILES+=	NetBSD.dist.compat
981.25SmattCLEANFILES+=	NetBSD.dist.tests.compat
991.10Sdrochner
1001.1Smrg.include <bsd.prog.mk>
101