Home | History | Annotate | Line # | Download | only in common
Makefile.tarfloppy revision 1.4
      1 #	$NetBSD: Makefile.tarfloppy,v 1.4 2002/05/02 18:02:31 lukem Exp $
      2 #
      3 # Makefile snippet to create a set of ustar floppies.
      4 # Each floppy has an 8KB header, followed by part or all of the ustar archive.
      5 #
      6 
      7 #
      8 # Required variables:
      9 #	NETBSDSRCDIR	Top level of src tree (set by <bsd.own.mk>)
     10 #	FLOPPYBASE	Basename of floppies. Floppy number ${n} will
     11 #			be generated as ${FLOPPYBASE}${n}.fs
     12 #	FLOPPYSIZE	Size of floppy in 512 byte blocks.
     13 #	FLOPPYFILES	Files to write to floppy.
     14 #			Usually set to "boot ${FLOPPYMETAFILE} netbsd"
     15 #
     16 
     17 #
     18 # Optional variables:
     19 #	FLOPPY_BOOT		Bootstrap to use as "boot".
     20 #	FLOPPY_BOOT_STRIP	If yes, strip "boot" before use.
     21 #	FLOPPY_NETBSD		Kernel to to use as "netbsd".
     22 #	FLOPPYINSTBOOT		Installboot program to use.
     23 #				USTAR image file is in @IMAGE@.
     24 #	FLOPPYMAX		Maximum number of floppies to build.
     25 #				If 1, the final image is installed as
     26 #				${FLOPPYBASE}.fs instead of ${FLOPPYBASE}1.fs
     27 #	FLOPPYMETAFILE		USTAR metafile(s) (optional)
     28 #	FLOPPYPAD		If defined, pad the last floppy to ${FLOPPYSIZE}
     29 #	FLOPPY_RELEASEDIR	Where to install release floppies.
     30 #
     31 
     32 
     33 .if defined(FLOPPY_BOOT)				# {
     34 CLEANFILES+=	boot
     35 boot: ${FLOPPY_BOOT}
     36 	@echo "Copying ${.ALLSRC} to boot"
     37 	@rm -f boot
     38 	@cp ${.ALLSRC} boot
     39 .if defined(FLOPPY_BOOT_STRIP)
     40 	@${STRIP} boot
     41 .endif
     42 .endif	# FLOPPY_BOOT					# }
     43 
     44 
     45 .if defined(FLOPPY_NETBSD)				# {
     46 CLEANFILES+=	netbsd
     47 netbsd: ${FLOPPY_NETBSD}
     48 	@echo "Copying ${.ALLSRC} to netbsd"
     49 	@rm -f netbsd
     50 	@cp ${.ALLSRC} netbsd
     51 .endif	# FLOPPY_NETBSD					# }
     52 
     53 
     54 .if defined(FLOPPYMETAFILE)				# {
     55 CLEANFILES+=	${FLOPPYMETAFILE}
     56 ${FLOPPYMETAFILE}:
     57 	@echo "Creating ${FLOPPYMETAFILE}"
     58 	@rm -f ${FLOPPYMETAFILE}
     59 	@touch ${FLOPPYMETAFILE}
     60 .endif	# FLOPPYMETAFILE				# }
     61 
     62 
     63 ${FLOPPYBASE}1.fs: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
     64 	@echo "Creating ${FLOPPYBASE}1.fs from: ${FLOPPYFILES}"
     65 	PAX=${PAX:Q} sh ${DISTRIBDIR}/common/buildfloppies.sh \
     66 	    ${FLOPPYMAX:D-m ${FLOPPYMAX}} \
     67 	    ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
     68 	    ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
     69 
     70 CLEANFILES+=	${FLOPPYBASE}?.fs
     71 
     72 
     73 realall: ${FLOPPYBASE}1.fs
     74 
     75 .if defined(FLOPPY_RELEASEDIR)
     76 release: check_RELEASEDIR .WAIT ${FLOPPYBASE}1.fs
     77 	if [ -e ${FLOPPYBASE}2.fs ]; then \
     78 		${RELEASE_INSTALL} ${FLOPPYBASE}?.fs \
     79 		    ${RELEASEDIR}/${FLOPPY_RELEASEDIR}; \
     80 	else \
     81 		${RELEASE_INSTALL} ${FLOPPYBASE}1.fs \
     82 		    ${RELEASEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}.fs; \
     83 	fi
     84 .endif
     85