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