Makefile.tarfloppy revision 1.11
11.11Slukem# $NetBSD: Makefile.tarfloppy,v 1.11 2004/05/04 02:52:05 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# Required variables: 71.3Slukem# NETBSDSRCDIR Top level of src tree (set by <bsd.own.mk>) 81.1Slukem# FLOPPYBASE Basename of floppies. Floppy number ${n} will 91.5Slukem# be generated as ${FLOPPYBASE}${n}${FLOPPYSUFFIX} 101.1Slukem# FLOPPYSIZE Size of floppy in 512 byte blocks. 111.1Slukem# FLOPPYFILES Files to write to floppy. 121.1Slukem# Usually set to "boot ${FLOPPYMETAFILE} netbsd" 131.1Slukem# 141.1Slukem# Optional variables: 151.1Slukem# FLOPPY_BOOT Bootstrap to use as "boot". 161.1Slukem# FLOPPY_BOOT_STRIP If yes, strip "boot" before use. 171.1Slukem# FLOPPY_NETBSD Kernel to to use as "netbsd". 181.4Slukem# FLOPPYINSTBOOT Installboot program to use. 191.4Slukem# USTAR image file is in @IMAGE@. 201.4Slukem# FLOPPYMAX Maximum number of floppies to build. 211.4Slukem# If 1, the final image is installed as 221.5Slukem# ${FLOPPYBASE}${FLOPPYSUFFIX} instead of 231.5Slukem# ${FLOPPYBASE}1${FLOPPYSUFFIX} 241.4Slukem# FLOPPYMETAFILE USTAR metafile(s) (optional) 251.4Slukem# FLOPPYPAD If defined, pad the last floppy to ${FLOPPYSIZE} 261.5Slukem# FLOPPYSUFFIX Suffix of created floppies. 271.4Slukem# FLOPPY_RELEASEDIR Where to install release floppies. 281.1Slukem# 291.1Slukem 301.8Slukem.if !defined(_MAKEFILE_TARFLOPPY_) 311.8Slukem_MAKEFILE_TARFLOPPY_=1 321.8Slukem 331.8Slukem 341.1Slukem.if defined(FLOPPY_BOOT) # { 351.1SlukemCLEANFILES+= boot 361.1Slukemboot: ${FLOPPY_BOOT} 371.11Slukem ${_MKTARGET_CREATE} "(from: ${.ALLSRC})" 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.11Slukem ${_MKTARGET_CREATE} "(from: ${.ALLSRC})" 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.11Slukem ${_MKTARGET_CREATE} 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.11Slukem ${_MKTARGET_CREATE} "(from: ${FLOPPYFILES})" 661.10Slukem PAX=${TOOL_PAX:Q} ${HOST_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.7Slukem ${RELEASEDIR}/${MACHINE}/${FLOPPY_RELEASEDIR}; \ 811.1Slukem else \ 821.5Slukem ${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \ 831.7Slukem ${RELEASEDIR}/${MACHINE}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \ 841.1Slukem fi 851.1Slukem.endif 861.8Slukem 871.8Slukem 881.8Slukem.endif # _MAKEFILE_TARFLOPPY_ 89