Makefile.tarfloppy revision 1.18
11.18Sapb# $NetBSD: Makefile.tarfloppy,v 1.18 2014/08/05 15:40:58 apb 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.14Sdbj.if defined(FLOPPY_BOOT_CFG) 461.14SdbjCLEANFILES+= boot.cfg 471.14Sdbjboot.cfg: ${FLOPPY_BOOT_CFG} 481.14Sdbj ${_MKTARGET_CREATE} "(from: ${.ALLSRC})" 491.14Sdbj @rm -f ${.TARGET} 501.14Sdbj @cp ${.ALLSRC} ${.TARGET} 511.14Sdbj.endif # FLOPPY_BOOT_CFG 521.1Slukem 531.1Slukem.if defined(FLOPPY_NETBSD) # { 541.12SpavelCLEANFILES+= netbsd netbsd.tmp 551.12Spavel.if ${FLOPPY_NETBSD:E}=="gz" 561.12SpavelCOPY_CMD= gunzip -c ${.ALLSRC} > ${.TARGET}.tmp 571.18SapbCOMPRESS_CMD= ${TOOL_GZIP_N} -9c ${.TARGET}.tmp > ${.TARGET}; \ 581.17Sapb rm -f ${.TARGET}.tmp 591.12Spavel.else 601.12SpavelCOPY_CMD= cp ${.ALLSRC} ${.TARGET}.tmp 611.12SpavelCOMPRESS_CMD= mv -f ${.TARGET}.tmp ${.TARGET} 621.12Spavel.endif 631.1Slukemnetbsd: ${FLOPPY_NETBSD} 641.11Slukem ${_MKTARGET_CREATE} "(from: ${.ALLSRC})" 651.12Spavel ${COPY_CMD} 661.12Spavel ${STRIP} -R .comment -R .ident ${.TARGET}.tmp 671.12Spavel ${COMPRESS_CMD} 681.1Slukem.endif # FLOPPY_NETBSD # } 691.1Slukem 701.1Slukem 711.1Slukem.if defined(FLOPPYMETAFILE) # { 721.1SlukemCLEANFILES+= ${FLOPPYMETAFILE} 731.1Slukem${FLOPPYMETAFILE}: 741.11Slukem ${_MKTARGET_CREATE} 751.1Slukem @rm -f ${FLOPPYMETAFILE} 761.1Slukem @touch ${FLOPPYMETAFILE} 771.1Slukem.endif # FLOPPYMETAFILE # } 781.1Slukem 791.1Slukem 801.5Slukem${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh 811.11Slukem ${_MKTARGET_CREATE} "(from: ${FLOPPYFILES})" 821.10Slukem PAX=${TOOL_PAX:Q} ${HOST_SH} ${DISTRIBDIR}/common/buildfloppies.sh \ 831.1Slukem ${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \ 841.5Slukem ${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \ 851.15Sapb -N ${DESTDIR}/etc \ 861.1Slukem ${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES} 871.1Slukem 881.5SlukemCLEANFILES+= ${FLOPPYBASE}?${FLOPPYSUFFIX} 891.1Slukem 901.1Slukem 911.5Slukemrealall: ${FLOPPYBASE}1${FLOPPYSUFFIX} 921.1Slukem 931.4Slukem.if defined(FLOPPY_RELEASEDIR) 941.6Slukemrelease:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX} 951.5Slukem if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \ 961.5Slukem ${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \ 971.13Smatt ${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}; \ 981.1Slukem else \ 991.5Slukem ${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \ 1001.13Smatt ${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \ 1011.1Slukem fi 1021.1Slukem.endif 1031.8Slukem 1041.8Slukem 1051.8Slukem.endif # _MAKEFILE_TARFLOPPY_ 106