Makefile.tarfloppy revision 1.12
11.12Spavel# $NetBSD: Makefile.tarfloppy,v 1.12 2006/09/29 08:16:41 pavel 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.12SpavelCLEANFILES+= netbsd netbsd.tmp 481.12Spavel.if ${FLOPPY_NETBSD:E}=="gz" 491.12SpavelCOPY_CMD= gunzip -c ${.ALLSRC} > ${.TARGET}.tmp 501.12SpavelCOMPRESS_CMD= gzip -9c ${.TARGET}.tmp > ${.TARGET}; rm -f ${.TARGET}.tmp 511.12Spavel.else 521.12SpavelCOPY_CMD= cp ${.ALLSRC} ${.TARGET}.tmp 531.12SpavelCOMPRESS_CMD= mv -f ${.TARGET}.tmp ${.TARGET} 541.12Spavel.endif 551.1Slukemnetbsd: ${FLOPPY_NETBSD} 561.11Slukem ${_MKTARGET_CREATE} "(from: ${.ALLSRC})" 571.12Spavel ${COPY_CMD} 581.12Spavel ${STRIP} -R .comment -R .ident ${.TARGET}.tmp 591.12Spavel ${COMPRESS_CMD} 601.1Slukem.endif # FLOPPY_NETBSD # } 611.1Slukem 621.1Slukem 631.1Slukem.if defined(FLOPPYMETAFILE) # { 641.1SlukemCLEANFILES+= ${FLOPPYMETAFILE} 651.1Slukem${FLOPPYMETAFILE}: 661.11Slukem ${_MKTARGET_CREATE} 671.1Slukem @rm -f ${FLOPPYMETAFILE} 681.1Slukem @touch ${FLOPPYMETAFILE} 691.1Slukem.endif # FLOPPYMETAFILE # } 701.1Slukem 711.1Slukem 721.5Slukem${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh 731.11Slukem ${_MKTARGET_CREATE} "(from: ${FLOPPYFILES})" 741.10Slukem PAX=${TOOL_PAX:Q} ${HOST_SH} ${DISTRIBDIR}/common/buildfloppies.sh \ 751.1Slukem ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \ 761.5Slukem ${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \ 771.1Slukem ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES} 781.1Slukem 791.5SlukemCLEANFILES+= ${FLOPPYBASE}?${FLOPPYSUFFIX} 801.1Slukem 811.1Slukem 821.5Slukemrealall: ${FLOPPYBASE}1${FLOPPYSUFFIX} 831.1Slukem 841.4Slukem.if defined(FLOPPY_RELEASEDIR) 851.6Slukemrelease:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX} 861.5Slukem if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \ 871.5Slukem ${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \ 881.7Slukem ${RELEASEDIR}/${MACHINE}/${FLOPPY_RELEASEDIR}; \ 891.1Slukem else \ 901.5Slukem ${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \ 911.7Slukem ${RELEASEDIR}/${MACHINE}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \ 921.1Slukem fi 931.1Slukem.endif 941.8Slukem 951.8Slukem 961.8Slukem.endif # _MAKEFILE_TARFLOPPY_ 97