97 lines
3.0 KiB
Makefile
97 lines
3.0 KiB
Makefile
# $NetBSD: Makefile.tarfloppy,v 1.13 2008/06/23 02:16:53 matt Exp $
|
|
#
|
|
# Makefile snippet to create a set of ustar floppies.
|
|
# Each floppy has an 8KB header, followed by part or all of the ustar archive.
|
|
#
|
|
# Required variables:
|
|
# NETBSDSRCDIR Top level of src tree (set by <bsd.own.mk>)
|
|
# FLOPPYBASE Basename of floppies. Floppy number ${n} will
|
|
# be generated as ${FLOPPYBASE}${n}${FLOPPYSUFFIX}
|
|
# FLOPPYSIZE Size of floppy in 512 byte blocks.
|
|
# FLOPPYFILES Files to write to floppy.
|
|
# Usually set to "boot ${FLOPPYMETAFILE} netbsd"
|
|
#
|
|
# Optional variables:
|
|
# FLOPPY_BOOT Bootstrap to use as "boot".
|
|
# FLOPPY_BOOT_STRIP If yes, strip "boot" before use.
|
|
# FLOPPY_NETBSD Kernel to to use as "netbsd".
|
|
# FLOPPYINSTBOOT Installboot program to use.
|
|
# USTAR image file is in @IMAGE@.
|
|
# FLOPPYMAX Maximum number of floppies to build.
|
|
# If 1, the final image is installed as
|
|
# ${FLOPPYBASE}${FLOPPYSUFFIX} instead of
|
|
# ${FLOPPYBASE}1${FLOPPYSUFFIX}
|
|
# FLOPPYMETAFILE USTAR metafile(s) (optional)
|
|
# FLOPPYPAD If defined, pad the last floppy to ${FLOPPYSIZE}
|
|
# FLOPPYSUFFIX Suffix of created floppies.
|
|
# FLOPPY_RELEASEDIR Where to install release floppies.
|
|
#
|
|
|
|
.if !defined(_MAKEFILE_TARFLOPPY_)
|
|
_MAKEFILE_TARFLOPPY_=1
|
|
|
|
|
|
.if defined(FLOPPY_BOOT) # {
|
|
CLEANFILES+= boot
|
|
boot: ${FLOPPY_BOOT}
|
|
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
|
|
@rm -f boot
|
|
@cp ${.ALLSRC} boot
|
|
.if defined(FLOPPY_BOOT_STRIP)
|
|
@${STRIP} boot
|
|
.endif
|
|
.endif # FLOPPY_BOOT # }
|
|
|
|
|
|
.if defined(FLOPPY_NETBSD) # {
|
|
CLEANFILES+= netbsd netbsd.tmp
|
|
.if ${FLOPPY_NETBSD:E}=="gz"
|
|
COPY_CMD= gunzip -c ${.ALLSRC} > ${.TARGET}.tmp
|
|
COMPRESS_CMD= gzip -9c ${.TARGET}.tmp > ${.TARGET}; rm -f ${.TARGET}.tmp
|
|
.else
|
|
COPY_CMD= cp ${.ALLSRC} ${.TARGET}.tmp
|
|
COMPRESS_CMD= mv -f ${.TARGET}.tmp ${.TARGET}
|
|
.endif
|
|
netbsd: ${FLOPPY_NETBSD}
|
|
${_MKTARGET_CREATE} "(from: ${.ALLSRC})"
|
|
${COPY_CMD}
|
|
${STRIP} -R .comment -R .ident ${.TARGET}.tmp
|
|
${COMPRESS_CMD}
|
|
.endif # FLOPPY_NETBSD # }
|
|
|
|
|
|
.if defined(FLOPPYMETAFILE) # {
|
|
CLEANFILES+= ${FLOPPYMETAFILE}
|
|
${FLOPPYMETAFILE}:
|
|
${_MKTARGET_CREATE}
|
|
@rm -f ${FLOPPYMETAFILE}
|
|
@touch ${FLOPPYMETAFILE}
|
|
.endif # FLOPPYMETAFILE # }
|
|
|
|
|
|
${FLOPPYBASE}1${FLOPPYSUFFIX}: ${FLOPPYFILES} ${DISTRIBDIR}/common/buildfloppies.sh
|
|
${_MKTARGET_CREATE} "(from: ${FLOPPYFILES})"
|
|
PAX=${TOOL_PAX:Q} ${HOST_SH} ${DISTRIBDIR}/common/buildfloppies.sh \
|
|
${FLOPPYINSTBOOT:D-i ${FLOPPYINSTBOOT}} ${FLOPPYPAD:D-p} \
|
|
${FLOPPYMAX:D-m ${FLOPPYMAX}} ${FLOPPYSUFFIX:D-s ${FLOPPYSUFFIX}} \
|
|
${FLOPPYBASE} ${FLOPPYSIZE} ${FLOPPYFILES}
|
|
|
|
CLEANFILES+= ${FLOPPYBASE}?${FLOPPYSUFFIX}
|
|
|
|
|
|
realall: ${FLOPPYBASE}1${FLOPPYSUFFIX}
|
|
|
|
.if defined(FLOPPY_RELEASEDIR)
|
|
release:: check_RELEASEDIR .WAIT ${FLOPPYBASE}1${FLOPPYSUFFIX}
|
|
if [ -e ${FLOPPYBASE}2${FLOPPYSUFFIX} ]; then \
|
|
${RELEASE_INSTALL} ${FLOPPYBASE}?${FLOPPYSUFFIX} \
|
|
${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}; \
|
|
else \
|
|
${RELEASE_INSTALL} ${FLOPPYBASE}1${FLOPPYSUFFIX} \
|
|
${RELEASEDIR}/${RELEASEMACHINEDIR}/${FLOPPY_RELEASEDIR}/${FLOPPYBASE}${FLOPPYSUFFIX}; \
|
|
fi
|
|
.endif
|
|
|
|
|
|
.endif # _MAKEFILE_TARFLOPPY_
|