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