42f593a4d5
on (some) OpenFirmware 2.x machines. Current macppccd.iso image doesn't boot on Openfirmware 2.x (and probably 1.0.5) machines because it uses pre-compiled binary which is based on old (and customized) bootxx. It causes version mismatch against newer ofwboot whose load address has been changed from 0x600000 to 0xe00000, as mentioned in the following post: http://mail-index.netbsd.org/port-macppc/2004/12/14/0020.html There was also an raw binary which was passed to mkisofs as -boot-hfs-file. To fix these issue, prepare a simple mkhfsboot program which creates a boothfs file with the Apple partition map info for mkisofs, and modify macppc_installboot to search the secondary ofwboot from isofs and to put and modify the primary bootxx accordingly. See PR toolchain/30245 for more details. There are still some machines which don't boot from an iso image created by this method (G3 machines with OF 2.0f1 etc.), but it's still better than to keep ugly and obsolete hacks. Ok'ed by macallan, and there is no other particular comment about this PR.
469 lines
13 KiB
Makefile
469 lines
13 KiB
Makefile
# $NetBSD: Makefile,v 1.29 2006/09/17 03:56:03 tsutsui Exp $
|
|
#
|
|
# Consult "*.conf" for the configuration variables; this Makefile is typically
|
|
# not edited for basic configuration changes.
|
|
##############################################################################
|
|
|
|
all:
|
|
|
|
.if exists(site.conf)
|
|
.include "site.conf"
|
|
.endif
|
|
|
|
.if !defined(RELEASE)
|
|
.BEGIN:
|
|
@echo "Please set RELEASE in the environment or in site.conf to the basename"
|
|
@echo "of the release configuration file to use. For example:"
|
|
@echo "> ${MAKE} RELEASE=foo"
|
|
@echo "will use the configuration file foo.conf."
|
|
@false
|
|
.endif
|
|
|
|
.if exists(${RELEASE}.conf)
|
|
.include "${RELEASE}.conf"
|
|
.elif !target(.BEGIN)
|
|
.BEGIN:
|
|
@echo "Error: File does not exist: ${RELEASE}.conf"
|
|
@false
|
|
.endif
|
|
|
|
CD_RELEASE?=
|
|
CD_SIZE?= 650000
|
|
RELEASENAME?= NetBSD-${CD_RELEASE}
|
|
MKISOFS_ARGS= -A "NetBSD ${CD_RELEASE}" \
|
|
-hide-rr-moved -m Split -m cdrom
|
|
# -hide-list ${.CURDIR}/hide-iso.lst
|
|
|
|
ALL_PORTS=
|
|
.for image in ${CD_IMAGES}
|
|
BASE_PORTS.${image}?=
|
|
ALL_PORTS:= ${ALL_PORTS} ${BASE_PORTS.${image}}
|
|
.endfor
|
|
|
|
.if exists(${RELEASENAME}.mk)
|
|
.include "${RELEASENAME}.mk"
|
|
.elif !target(.BEGIN)
|
|
.if !empty(CD_RELEASE)
|
|
.BEGIN:
|
|
@echo "Error: File does not exist: ${RELEASENAME}.mk"
|
|
@echo "(specified by variable CD_RELEASE in ${RELEASE}.conf)"
|
|
@false
|
|
.else
|
|
.BEGIN:
|
|
@echo "Error: CD_RELEASE not set in ${RELEASE}.conf"
|
|
@false
|
|
.endif
|
|
.endif
|
|
|
|
SUBDIR=
|
|
|
|
.if !empty(ALL_PORTS:Mmacppc)
|
|
SUBDIR+= macppc_mkboothfs macppc_installboot
|
|
.endif
|
|
|
|
.if !empty(SUBDIR)
|
|
.include <bsd.subdir.mk>
|
|
.endif
|
|
|
|
.include <bsd.obj.mk>
|
|
.include <bsd.own.mk>
|
|
|
|
##### Default paths for programs #####
|
|
|
|
MKISOFS?= /usr/pkg/bin/mkisofs
|
|
RSYNC?= /usr/pkg/bin/rsync
|
|
ALPHA_IBOOT?= ${TOOL_INSTALLBOOT} -m alpha -o sunsum,append
|
|
PMAX_IBOOT?= ${TOOL_INSTALLBOOT} -m pmax -o sunsum,append
|
|
VAX_IBOOT?= ${TOOL_INSTALLBOOT} -m vax -o sunsum,append
|
|
.if !empty(ALL_PORTS:Mmacppc)
|
|
MACPPC_IBOOTDIR!= cd ${.CURDIR}/macppc_installboot && ${PRINTOBJDIR}
|
|
MACPPC_MKBOOTHFSDIR!= cd ${.CURDIR}/macppc_mkboothfs && ${PRINTOBJDIR}
|
|
.endif
|
|
|
|
RSYNC_SITE?= rsync://rsync.NetBSD.org/NetBSD/${RELEASENAME}/
|
|
RSYNC_ARGS?= -va --delete
|
|
RSYNC_EXCLUDE+= --exclude=/* --exclude=Split --exclude=cdrom
|
|
|
|
DISTRIBDIR?= ${.OBJDIR}/download
|
|
STAGEDIR?= ${.OBJDIR}/staging
|
|
IMAGEDIR?= ${.OBJDIR}
|
|
EXTFILEDIR?= ${.OBJDIR}/extfiles
|
|
EASTER_EGG?= /dev/null
|
|
|
|
##### MACHINE_ARCH for possible shared sets for each (shared) port #####
|
|
|
|
MACHINE_ARCH.acorn26= arm
|
|
MACHINE_ARCH.acorn32= arm
|
|
MACHINE_ARCH.algor= mipsel
|
|
MACHINE_ARCH.amiga= m68k
|
|
MACHINE_ARCH.amigappc= powerpc
|
|
MACHINE_ARCH.arc= mipsel
|
|
MACHINE_ARCH.atari= m68k
|
|
MACHINE_ARCH.bebox= powerpc
|
|
MACHINE_ARCH.cats= arm
|
|
MACHINE_ARCH.cesfic= m68k
|
|
MACHINE_ARCH.cobalt= mipsel
|
|
MACHINE_ARCH.dreamcast= sh3el
|
|
MACHINE_ARCH.evbarm= arm
|
|
MACHINE_ARCH.evbmips= mipsel
|
|
MACHINE_ARCH.evbppc= powerpc
|
|
MACHINE_ARCH.evbsh3= sh3eb
|
|
MACHINE_ARCH.hp300= m68k
|
|
MACHINE_ARCH.hpcarm= arm
|
|
MACHINE_ARCH.hpcmips= mipsel
|
|
MACHINE_ARCH.hpcsh= sh3el
|
|
MACHINE_ARCH.iyonix= arm
|
|
MACHINE_ARCH.luna68k= m68k
|
|
MACHINE_ARCH.mac68k= m68k
|
|
MACHINE_ARCH.macppc= powerpc
|
|
MACHINE_ARCH.mipsco= mipseb
|
|
MACHINE_ARCH.mmeye= sh3eb
|
|
MACHINE_ARCH.mvme68k= m68k
|
|
MACHINE_ARCH.netwinder= arm
|
|
MACHINE_ARCH.news68k= m68k
|
|
MACHINE_ARCH.newsmips= mipseb
|
|
MACHINE_ARCH.next68k= m68k
|
|
MACHINE_ARCH.ofppc= powerpc
|
|
MACHINE_ARCH.playstation2=mipsel
|
|
MACHINE_ARCH.pmax= mipsel
|
|
MACHINE_ARCH.prep= powerpc
|
|
MACHINE_ARCH.sandpoint= powerpc
|
|
MACHINE_ARCH.sbmips= mipseb
|
|
MACHINE_ARCH.sgimips= mipseb
|
|
MACHINE_ARCH.shark= arm
|
|
MACHINE_ARCH.sun3= m68k
|
|
MACHINE_ARCH.x68k= m68k
|
|
|
|
##### Fetched directories from FTP server #####
|
|
|
|
.if defined(ALL_PORTS) && !empty(ALL_PORTS)
|
|
RSYNC_INCLUDE+= --include "/shared"
|
|
RSYNC_EXCLUDE+= --exclude "/[a-z]*" \
|
|
--exclude "/shared/[a-z]*"
|
|
.endif
|
|
|
|
RSYNC_ARCHS=
|
|
.for port in ${ALL_PORTS:O:u} # {
|
|
RSYNC_INCLUDE+= --include "/${port}"
|
|
.if defined(MACHINE_ARCH.${port})
|
|
RSYNC_ARCHS+= ${MACHINE_ARCH.${port}}
|
|
.endif
|
|
.endfor # }
|
|
.for arch in ${RSYNC_ARCHS:O:u}
|
|
RSYNC_INCLUDE+= --include "/shared/${arch}"
|
|
.endfor
|
|
|
|
##### Boot info and additional options for various platforms #####
|
|
|
|
.if defined(PUBLISHER)
|
|
MKISOFS_ARGS+= -P "${PUBLISHER}"
|
|
.endif
|
|
|
|
.if defined(PREPARER)
|
|
MKISOFS_ARGS+= -p "${PREPARER}"
|
|
.endif
|
|
|
|
|
|
##### Per image settings #####
|
|
|
|
.for image in ${CD_IMAGES} # {
|
|
ports:=${BASE_PORTS.${image}}
|
|
|
|
.if !defined(VOLID.${image}) && !target(.BEGIN)
|
|
.BEGIN:
|
|
@echo "Error: VOLID.${image} not set in ${RELEASE}.conf"
|
|
@false
|
|
.endif
|
|
|
|
MKISOFS_ARGS.${image}= -V "${VOLID.${image}}"
|
|
|
|
pathlist.${image}:=${STAGEDIR}/${image}.pathlist
|
|
contents.${image}:=${IMAGEDIR}/${image}.contents
|
|
|
|
MKISOFS_ARGS.${image}+= -graft-points -path-list ${pathlist.${image}}
|
|
|
|
.if defined(ABSTRACT.${image})
|
|
MKISOFS_ARGS.${image}+= -abstract ${ABSTRACT.${image}}
|
|
.endif
|
|
|
|
# Options specified in release config file
|
|
|
|
EXTFILES?=
|
|
INTFILES.${image}?=
|
|
INTDIRS.${image}?=
|
|
ADDFILES.${image}?=
|
|
|
|
# For a source only cd just ignore the shared/ALL directory
|
|
.if ${ports} != "source"
|
|
bports= shared/ALL
|
|
.endif
|
|
.for port in ${ports} # {
|
|
EXTFILES+= ${EXTFILES.${port}}
|
|
INTFILES.${image}+= ${INTFILES.${port}}
|
|
INTDIRS.${image}+= ${INTDIRS.${port}}
|
|
ADDFILES.${image}+= ${ADDFILES.${port}}
|
|
MKISOFS_ARGS.${image}+= ${MKISOFS_ARGS.${port}}
|
|
# add shared/ALL and shared/${MACHINE_ARCH} to BASE_PORTS.${image}
|
|
bports+= ${port}
|
|
.if defined(MACHINE_ARCH.${port})
|
|
bports+= shared/${MACHINE_ARCH.${port}}
|
|
.endif
|
|
.endfor # }
|
|
BASE_PORTS.${image}:= ${bports:O:u}
|
|
|
|
|
|
# i386
|
|
|
|
.if !empty(ports:Mi386)
|
|
MKISOFS_ARGS.${image}+= -b ${BOOTFILE.i386} -c boot.catalog
|
|
.endif
|
|
|
|
# amd64
|
|
|
|
.if !empty(ports:Mamd64)
|
|
MKISOFS_ARGS.${image}+= -b ${BOOTFILE.amd64} -c boot.catalog
|
|
.endif
|
|
|
|
# Mac (mac68k, macppc)
|
|
|
|
.if !empty(ports:Mmacppc)
|
|
MKISOFS_ARGS.${image}+= -hfs -part -hide-hfs-list ${.CURDIR}/hide-hfs.lst \
|
|
--macbin -map ${.CURDIR}/hfsmap.lst \
|
|
-boot-hfs-file ${MACPPC_MKBOOTHFSDIR}/boothfs
|
|
.elif defined(USE_APPLE_ISO) || !empty(ports:Mmac68k)
|
|
MKISOFS_ARGS.${image}+= -apple --macbin -map ${.CURDIR}/hfsmap.lst
|
|
.endif
|
|
|
|
# Sun (sparc, sparc64, sun3)
|
|
|
|
SUN_BOOT_ARGS.${image}:=
|
|
.if !empty(ports:Msparc*) || !empty(ports:Msun3*) # {
|
|
SUN_BOOT.123:= -
|
|
SUN_BOOT.4:= -
|
|
SUN_BOOT.5:= -
|
|
|
|
.if !empty(ports:Msparc)
|
|
SUN_BOOT.123:= ${BOOTFILE.sparc}
|
|
.endif
|
|
|
|
.if !empty(ports:Msun3) # {
|
|
.if !defined(BOOTFILE.sun3x)
|
|
# NetBSD >= 1.4; sun3 and sun3x are the same
|
|
SUN_BOOT.5:= ${BOOTFILE.sun3}
|
|
.endif
|
|
SUN_BOOT.4:= ${BOOTFILE.sun3}
|
|
.endif # }
|
|
|
|
.if !empty(ports:Msun3x) && defined(BOOTFILE.sun3x)
|
|
# NetBSD < 1.4; sun3 and sun3x are separate
|
|
SUN_BOOT.5:= ${BOOTFILE.sun3x}
|
|
.endif
|
|
|
|
.if !empty(ports:Msparc64) # {
|
|
.if (${SUN_BOOT.5} != "-")
|
|
# add warning
|
|
SUN_BOOT.5:= ${SUN_BOOT.5} ${BOOTFILE.sparc64}
|
|
.else
|
|
SUN_BOOT.5:= ${BOOTFILE.sparc64}
|
|
.endif
|
|
.endif # }
|
|
|
|
SUN_BOOT_ARGS.${image}:= ${SUN_BOOT.123} ${SUN_BOOT.123} ${SUN_BOOT.123} ${SUN_BOOT.4} ${SUN_BOOT.5}
|
|
|
|
.if empty(SUN_BOOT_ARGS.${image}:N/dev/null)
|
|
SUN_BOOT_ARGS.${image}:=
|
|
.endif
|
|
.endif # }
|
|
|
|
.endfor # image in ${CD_IMAGES} # }
|
|
|
|
##### Additional options for host OS's #####
|
|
|
|
# (USE_APPLE_ISO is tested above)
|
|
|
|
.if defined(USE_ROCK_RIDGE)
|
|
MKISOFS_ARGS+= -r
|
|
.endif
|
|
|
|
.if defined(USE_LONG_NAMES)
|
|
MKISOFS_ARGS+= -l
|
|
.endif
|
|
|
|
.if defined(USE_TRANS_TBL)
|
|
MKISOFS_ARGS+= -T
|
|
.endif
|
|
|
|
.if defined(USE_JOLIET)
|
|
MKISOFS_ARGS+= -J -hide-joliet-list ${.CURDIR}/hide-jol.lst
|
|
.if defined(USE_TRANS_TBL)
|
|
MKISOFS_ARGS+= -hide-joliet-trans-tbl
|
|
.endif
|
|
.endif
|
|
|
|
##### File extract rule #####
|
|
|
|
USE-FILE: .USE
|
|
@if [ ! -r $@ ]; then case $> in \
|
|
/*,link) \
|
|
echo "cp ${>:S/,link$//} $@"; \
|
|
cp ${>:S/,link$//} $@;; \
|
|
*,link) \
|
|
echo "cp `pwd -P`/${>:S/,link$//} $@"; \
|
|
cp `pwd -P`/${>:S/,link$//} $@;; \
|
|
*.tgz,*) \
|
|
echo "Extracting: $> --> $@..."; \
|
|
tar --fast-read -xzf ${>:C/,.*$//} ${>:C/^.*,//} ; \
|
|
cp ${>:C/^.*,//} $@; rm -rf ${>:C/^.*,//} ;; \
|
|
*.gz) echo "gunzip -c <$> >$@"; gunzip -c <$> >$@;; \
|
|
*) echo "Unknown archive method for $@"; false;; \
|
|
esac; else true; fi
|
|
|
|
##### Makefile rules #####
|
|
|
|
.for image in ${CD_IMAGES} # {
|
|
all: ${IMAGEDIR}/${image}.iso
|
|
|
|
stage-${image}:
|
|
mkdir -p ${STAGEDIR}/${image} ${EXTFILEDIR}
|
|
rm -f ${pathlist.${image}} ${contents.${image}}
|
|
.if defined(BASE_PORTS.${image}) && !empty(BASE_PORTS.${image})
|
|
.for dir in ${INTDIRS.${image}}
|
|
mkdir -p ${STAGEDIR}/${image}/${dir}
|
|
.endfor
|
|
.for arch in ${BASE_PORTS.${image}}
|
|
@echo "${arch}=${DISTRIBDIR}/${arch}" >> ${pathlist.${image}}
|
|
@echo "${arch}" >> ${contents.${image}}
|
|
.endfor
|
|
.endif
|
|
|
|
extfileprep:
|
|
.for file in ${EXTFILES} # {
|
|
extfileprep: ${EXTFILEDIR}/${file:C/:.*$//}
|
|
${EXTFILEDIR}/${file:C/:.*$//}: ${DISTRIBDIR}/${file:C/^.*://} USE-FILE
|
|
${DISTRIBDIR}/${file:C/^.*://}: .PHONY
|
|
.endfor # }
|
|
|
|
fileprep-${image}:
|
|
.for file in ${INTFILES.${image}} # {
|
|
fileprep-${image}: ${STAGEDIR}/${image}/${file:C/:.*$//}
|
|
${STAGEDIR}/${image}/${file:C/:.*$//}: ${DISTRIBDIR}/${file:C/^.*://} USE-FILE
|
|
${DISTRIBDIR}/${file:C/^.*://}: .PHONY
|
|
.endfor # }
|
|
.for file in ${ADDFILES.${image}} # {
|
|
fileprep-${image}: ${STAGEDIR}/${image}/${file:C/:.*$//}
|
|
${STAGEDIR}/${image}/${file:C/:.*$//}: ${file:C/^.*://} USE-FILE
|
|
${file:C/^.*://}: .PHONY
|
|
.endfor # }
|
|
|
|
# Size the CD image. This is done via the following formula:
|
|
# 1. Size the image produced by mkisofs.
|
|
# 2. Add images added by distrib/common/sunbootcd.sh by rounding to a 320k
|
|
# boundary and adding each Sun image rounded to a 320k boundary.
|
|
# 3. Add bootfile sizes rounded up to 512 bytes for pmax and vax.
|
|
# 4. Round up to a 32k boundary, then add another 32k for TAO padding.
|
|
|
|
.if !empty(BASE_PORTS.${image}:Mmacppc)
|
|
size-${image}: all-macppc_mkboothfs all-macppc_installboot
|
|
.endif
|
|
.if !empty(BASE_PORTS.${image}:Msgimips) && defined(EXTFILES.sgimips)
|
|
SGIVOLHDR.size= ( fgrep SGI_BOOT_BLOCK_SIZE_VOLHDR \
|
|
${EXTFILEDIR}/sgimips.bootblock.h | \
|
|
sed -e 's/[^0-9]*//' )
|
|
.else
|
|
SGIVOLHDR.size= echo 0
|
|
.endif
|
|
|
|
size-${image}: stage-${image} extfileprep fileprep-${image}
|
|
.if !empty(BASE_PORTS.${image}:Mmacppc)
|
|
${MACPPC_MKBOOTHFSDIR}/macppc_mkboothfs ${MACPPC_MKBOOTHFSDIR}/boothfs
|
|
.endif
|
|
@size=$$((`cd ${STAGEDIR}/${image} && ${MKISOFS} ${MKISOFS_ARGS} ${MKISOFS_ARGS.${image}} -print-size . 2>&1 | tee /dev/stderr | sed '/=/!d;s/^[^=]*=//'` * 2048)) && \
|
|
if [ "${SUN_BOOT_ARGS.${image}}" != "" ]; then \
|
|
size=$$(($$(($$size + 327679)) / 327680 * 327680)) && \
|
|
bootfiles=`for f in ${SUN_BOOT_ARGS.${image}:N-:O}; do echo $$f; done | uniq` && \
|
|
for f in $$bootfiles; do \
|
|
bfsize=`ls -l $$f | awk '{print $$5}'` && \
|
|
size=$$(($$size + $$(($$(($$bfsize + 327679)) / 327680 * 327680)))); \
|
|
done; \
|
|
fi && \
|
|
if [ "${BASE_PORTS.${image}:Mpmax}" != "" ]; then \
|
|
size=$$(($$size + $$(($$((`ls -l ${BOOTFILE.pmax} | awk '{print $$5}'` + 511)) / 512 * 512)))); \
|
|
fi && \
|
|
if [ "${BASE_PORTS.${image}:Mvax}" != "" ]; then \
|
|
size=$$(($$size + $$(($$((`ls -l ${BOOTFILE.vax} | awk '{print $$5}'` + 511)) / 512 * 512)))); \
|
|
fi && \
|
|
if [ "${BASE_PORTS.${image}:Msgimips}" != "" && \
|
|
"${EXTFILES.sgimips}" != "" ]; then \
|
|
size=$$(($$size + ${SGIVOLHDR.size:sh} * 512)); \
|
|
fi && \
|
|
size=$$(($$(($$size + 16383)) / 16384 * 16384 + 32768)) && \
|
|
sizek=$$(($$size / 1024)) && \
|
|
echo "Projected size of ${image}.iso: $$size bytes ($${sizek}K)." && \
|
|
if [ $$sizek -gt ${CD_SIZE} ]; then echo "Image too large for ${CD_SIZE} KB CD!"; false; fi
|
|
|
|
# Actually build the image with all the bootstrap goo....
|
|
|
|
${IMAGEDIR}/${image}.iso: size-${image}
|
|
@sort -o ${contents.${image}} ${contents.${image}}
|
|
.if defined(LOG_MKISOFS)
|
|
cd ${STAGEDIR}/${image} && ${MKISOFS} -o $@ ${MKISOFS_ARGS} ${MKISOFS_ARGS.${image}} -v -v . >${IMAGEDIR}/${image}.iso.log 2>&1
|
|
.else
|
|
cd ${STAGEDIR}/${image} && ${MKISOFS} -o $@ ${MKISOFS_ARGS} ${MKISOFS_ARGS.${image}} .
|
|
.endif
|
|
.if !empty(SUN_BOOT_ARGS.${image})
|
|
SUNLABEL=${TOOL_SUNLABEL:Q} \
|
|
${HOST_SH} ${NETBSDSRCDIR}/distrib/common/sunbootcd.sh \
|
|
${.TARGET} ${SUN_BOOT_ARGS.${image}}
|
|
.endif
|
|
.if !empty(BASE_PORTS.${image}:Mmacppc)
|
|
${MACPPC_IBOOTDIR}/macppc_installboot \
|
|
$@ ${EXTFILEDIR}/macppc.bootxx /ofwboot
|
|
.endif
|
|
.if !empty(BASE_PORTS.${image}:Mpmax)
|
|
${PMAX_IBOOT} $@ ${BOOTFILE.pmax}
|
|
.endif
|
|
.if !empty(BASE_PORTS.${image}:Mvax)
|
|
${VAX_IBOOT} $@ ${BOOTFILE.vax}
|
|
.endif
|
|
.if !empty(BASE_PORTS.${image}:Malpha)
|
|
${ALPHA_IBOOT} $@ ${BOOTFILE.alpha}
|
|
.endif
|
|
.if !empty(BASE_PORTS.${image}:Msgimips) && defined(EXTFILES.sgimips)
|
|
@echo "Prepending SGI volume header"
|
|
cp $@ $@.tmp
|
|
dd if=/dev/zero bs=512 count=${SGIVOLHDR.size:sh} >> $@
|
|
${TOOLDIR}/bin/nbsgivol -f -i $@
|
|
${TOOLDIR}/bin/nbsgivol -f -w aoutboot ${STAGEDIR}/${image}/aoutboot $@
|
|
${TOOLDIR}/bin/nbsgivol -f -w ip2xboot ${STAGEDIR}/${image}/ip2xboot $@
|
|
${TOOLDIR}/bin/nbsgivol -f -w ip3xboot ${STAGEDIR}/${image}/ip3xboot $@
|
|
dd if=$@.tmp of=$@ bs=512 seek=${SGIVOLHDR.size:sh}
|
|
rm -f $@.tmp
|
|
.endif
|
|
@echo Rounding up to 32k boundary and padding 32k....
|
|
@size=`ls -l $@ | awk '{print $$5}'` && \
|
|
newsize=$$(($$(($$size + 32767)) / 32768 * 32768)) && \
|
|
dd if=/dev/zero bs=512 count=$$(($$(($$newsize - $$size)) / 512)) >>$@ 2>/dev/null
|
|
dd if=${EASTER_EGG} bs=32768 count=1 conv=sync >>$@ 2>/dev/null
|
|
|
|
.endfor # image in ${CD_IMAGES} # }
|
|
|
|
fetch:
|
|
@mkdir -p ${DISTRIBDIR}
|
|
@echo Fetching distributions....
|
|
${RSYNC} ${RSYNC_INCLUDE} ${RSYNC_ARGS} ${RSYNC_EXCLUDE} ${RSYNC_SITE}/ ${DISTRIBDIR}/
|
|
|
|
clean: cleanstagedir cleanimages
|
|
cleandir distclean: cleandistribdir
|
|
|
|
cleanimages:
|
|
.for image in ${CD_IMAGES}
|
|
-rm -f ${IMAGEDIR}/${image}.iso ${IMAGEDIR}/${image}.iso.log \
|
|
${contents.${image}}
|
|
.endfor
|
|
|
|
cleanstagedir:
|
|
-rm -rf ${STAGEDIR} ${EXTFILEDIR}
|
|
|
|
cleandistribdir:
|
|
-rm -rf ${DISTRIBDIR}
|