Home | History | Annotate | Line # | Download | only in common
Makefile.tarfloppy revision 1.3
      1 #	$NetBSD: Makefile.tarfloppy,v 1.3 2002/04/26 15:50:28 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 #
     23 #	FLOPPYMAX	Maximum number of floppies to build.
     24 #			If 1, final image is installed as ${FLOPPYBASE}.fs
     25 #	FLOPPYMETAFILE	Ustar metafile (optional)
     26 #	FLOPPYINSTBOOT	Installboot program to use.  ustar file is in @IMAGE@.
     27 #	FLOPPYPAD	If defined, pad the last floppy to ${FLOPPYSIZE}
     28 #	FLOPPYINSTDIR	Where to install release images.
     29 #
     30 
     31 
     32 .if defined(FLOPPY_BOOT)				# {
     33 CLEANFILES+=	boot
     34 boot: ${FLOPPY_BOOT}
     35 	@echo "Copying ${.ALLSRC} to boot"
     36 	@rm -f boot
     37 	@cp ${.ALLSRC} boot
     38 .if defined(FLOPPY_BOOT_STRIP)
     39 	@${STRIP} boot
     40 .endif
     41 .endif	# FLOPPY_BOOT					# }
     42 
     43 
     44 .if defined(FLOPPY_NETBSD)				# {
     45 CLEANFILES+=	netbsd
     46 netbsd: ${FLOPPY_NETBSD}
     47 	@echo "Copying ${.ALLSRC} to netbsd"
     48 	@rm -f netbsd
     49 	@cp ${.ALLSRC} netbsd
     50 .endif	# FLOPPY_NETBSD					# }
     51 
     52 
     53 .if defined(FLOPPYMETAFILE)				# {
     54 CLEANFILES+=	${FLOPPYMETAFILE}
     55 ${FLOPPYMETAFILE}:
     56 	@echo "Creating ${FLOPPYMETAFILE}"
     57 	@rm -f ${FLOPPYMETAFILE}
     58 	@touch ${FLOPPYMETAFILE}
     59 .endif	# FLOPPYMETAFILE				# }
     60 
     61 
     62 ${FLOPPYBASE}1.fs: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
     63 	@echo "Creating ${FLOPPYBASE}1.fs from: ${FLOPPYFILES}"
     64 	PAX=${PAX:Q} sh ${DISTRIBDIR}/common/buildfloppies.sh \
     65 	    ${FLOPPYMAX:D-m ${FLOPPYMAX}} \
     66 	    ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
     67 	    ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
     68 
     69 CLEANFILES+=	${FLOPPYBASE}?.fs
     70 
     71 
     72 realall: ${FLOPPYBASE}1.fs
     73 
     74 .if defined(FLOPPYINSTDIR)
     75 release: check_RELEASEDIR .WAIT ${FLOPPYBASE}1.fs
     76 	-mkdir -p ${RELEASEDIR}/${FLOPPYINSTDIR}
     77 	if [ -e ${FLOPPYBASE}2.fs ]; then \
     78 		${RELINSTALL} ${FLOPPYBASE}?.fs \
     79 		    ${RELEASEDIR}/${FLOPPYINSTDIR}; \
     80 	else \
     81 		${RELINSTALL} ${FLOPPYBASE}1.fs \
     82 		    ${RELEASEDIR}/${FLOPPYINSTDIR}/${FLOPPYBASE}.fs; \
     83 	fi
     84 .endif
     85