Makefile.tarfloppy revision 1.6
11.6Slukem#	$NetBSD: Makefile.tarfloppy,v 1.6 2002/05/07 03:34:17 lukem Exp $
21.1Slukem#
31.1Slukem# Makefile snippet to create a set of ustar floppies.
41.1Slukem# Each floppy has an 8KB header, followed by part or all of the ustar archive.
51.1Slukem#
61.1Slukem
71.1Slukem#
81.1Slukem# Required variables:
91.3Slukem#	NETBSDSRCDIR	Top level of src tree (set by <bsd.own.mk>)
101.1Slukem#	FLOPPYBASE	Basename of floppies. Floppy number ${n} will
111.5Slukem#			be generated as ${FLOPPYBASE}${n}${FLOPPYSUFFIX}
121.1Slukem#	FLOPPYSIZE	Size of floppy in 512 byte blocks.
131.1Slukem#	FLOPPYFILES	Files to write to floppy.
141.1Slukem#			Usually set to "boot ${FLOPPYMETAFILE} netbsd"
151.1Slukem#
161.1Slukem
171.1Slukem#
181.1Slukem# Optional variables:
191.1Slukem#	FLOPPY_BOOT		Bootstrap to use as "boot".
201.1Slukem#	FLOPPY_BOOT_STRIP	If yes, strip "boot" before use.
211.1Slukem#	FLOPPY_NETBSD		Kernel to to use as "netbsd".
221.4Slukem#	FLOPPYINSTBOOT		Installboot program to use.
231.4Slukem#				USTAR image file is in @IMAGE@.
241.4Slukem#	FLOPPYMAX		Maximum number of floppies to build.
251.4Slukem#				If 1, the final image is installed as
261.5Slukem#				${FLOPPYBASE}${FLOPPYSUFFIX} instead of
271.5Slukem#				${FLOPPYBASE}1${FLOPPYSUFFIX}
281.4Slukem#	FLOPPYMETAFILE		USTAR metafile(s) (optional)
291.4Slukem#	FLOPPYPAD		If defined, pad the last floppy to ${FLOPPYSIZE}
301.5Slukem#	FLOPPYSUFFIX		Suffix of created floppies.
311.4Slukem#	FLOPPY_RELEASEDIR	Where to install release floppies.
321.1Slukem#
331.1Slukem
341.1Slukem.if defined(FLOPPY_BOOT)				# {
351.1SlukemCLEANFILES+=	boot
361.1Slukemboot: ${FLOPPY_BOOT}
371.1Slukem	@echo "Copying ${.ALLSRC} to boot"
381.1Slukem	@rm -f boot
391.1Slukem	@cp ${.ALLSRC} boot
401.1Slukem.if defined(FLOPPY_BOOT_STRIP)
411.1Slukem	@${STRIP} boot
421.1Slukem.endif
431.1Slukem.endif	# FLOPPY_BOOT					# }
441.1Slukem
451.1Slukem
461.1Slukem.if defined(FLOPPY_NETBSD)				# {
471.1SlukemCLEANFILES+=	netbsd
481.1Slukemnetbsd: ${FLOPPY_NETBSD}
491.5Slukem	@echo "Copying ${.ALLSRC} to ${.TARGET}"
501.5Slukem	@rm -f ${.TARGET}
511.5Slukem	@cp ${.ALLSRC} ${.TARGET}
521.1Slukem.endif	# FLOPPY_NETBSD					# }
531.1Slukem
541.1Slukem
551.1Slukem.if defined(FLOPPYMETAFILE)				# {
561.1SlukemCLEANFILES+=	${FLOPPYMETAFILE}
571.1Slukem${FLOPPYMETAFILE}:
581.1Slukem	@echo "Creating ${FLOPPYMETAFILE}"
591.1Slukem	@rm -f ${FLOPPYMETAFILE}
601.1Slukem	@touch ${FLOPPYMETAFILE}
611.1Slukem.endif	# FLOPPYMETAFILE				# }
621.1Slukem
631.1Slukem
641.5Slukem${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
651.5Slukem	@echo "Creating ${FLOPPYBASE}1${FLOPPYSUFFIX} from: ${FLOPPYFILES}"
661.2Sbjh21	PAX=${PAX:Q} sh ${DISTRIBDIR}/common/buildfloppies.sh \
671.1Slukem	    ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
681.5Slukem	    ${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \
691.1Slukem	    ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
701.1Slukem
711.5SlukemCLEANFILES+=	${FLOPPYBASE}?${FLOPPYSUFFIX}
721.1Slukem
731.1Slukem
741.5Slukemrealall: ${FLOPPYBASE}1${FLOPPYSUFFIX}
751.1Slukem
761.4Slukem.if defined(FLOPPY_RELEASEDIR)
771.6Slukemrelease:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX}
781.5Slukem	if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \
791.5Slukem		${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \
801.4Slukem		    ${RELEASEDIR}/${FLOPPY_RELEASEDIR}; \
811.1Slukem	else \
821.5Slukem		${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \
831.5Slukem		    ${RELEASEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \
841.1Slukem	fi
851.1Slukem.endif
86