[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / distrib / miniroot

File: [cvs.NetBSD.org] / src / distrib / miniroot / Makefile (download)

Revision 1.32, Thu May 18 02:12:45 2000 UTC (23 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: netbsd-1-5
Changes since 1.31: +2 -2 lines

Updagte the VAX bits so they actually work.  Use the common method of building
miniroots.  Fix the ramdisk bits.  Use the INSTALL kernel.  This stuff has
really suffered from bitrot.

#	$NetBSD: Makefile,v 1.32 2000/05/18 02:12:45 matt Exp $

.include "../../Makefile.inc"
.include <bsd.own.mk>
.include <bsd.kernobj.mk>

REV!=sh ${.CURDIR}/../../sys/conf/osrelease.sh -s

CBIN=		instbin
ARCHDIR=	${.CURDIR}/../${MACHINE}/miniroot

.if exists(${ARCHDIR}/Makefile.inc)
.include "${ARCHDIR}/Makefile.inc"
.endif

VND?=		vnd0c
VND_DEV=	/dev/${VND}
VND_RDEV=	/dev/r${VND}
VND_GEOM?=
IMAGE?=		miniroot.fs
IMAGESIZE?=	14336 # 7MB in 512 byte blocks
NEWFSOPTS?=
MOUNT_POINT?=	/mnt
BOOTINSTALL?=	true
PRELABEL?=	true

.ifdef DISKTYPE
DISKTYPEARG=	-t ${DISKTYPE}
.endif

LISTS=		${.CURDIR}/list ${ARCHDIR}/list
CRUNCHCONF=	${CBIN}.conf
MTREE=		${.CURDIR}/mtree.conf
ICMD=		${INSTALL} ${RENAME} ${PRESERVE} ${COPY}	\
			-o root -g wheel -m ${NONBINMODE} 

.ifndef DESTDIR
all:
	@echo setenv DESTDIR before making a miniroot!
	@false
.else

all: ${CBIN}
	dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE}
	vnconfig ${DISKTYPEARG} -v -c ${VND_DEV} ${IMAGE} ${VND_GEOM}
	${PRELABEL}
	-newfs -m 0 -o space ${NEWFSOPTS} ${VND_RDEV} ${DISKTYPE}
	${BOOTINSTALL}
	mount -o async ${VND_DEV} ${MOUNT_POINT}
	mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
	REV=${REV} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \
	    TARGDIR=${MOUNT_POINT} VND_RDEV=${VND_RDEV} \
	    KERNOBJDIR=${KERNOBJDIR} \
	    sh ${.CURDIR}/runlist.sh ${LISTS}
	@echo ""
	@df -i ${MOUNT_POINT}
	@echo ""
	umount ${MOUNT_POINT}
	vnconfig -u ${VND_DEV}

unconfig:
	-umount -f ${MOUNT_POINT}
	-vnconfig -u ${VND_DEV}
	-/bin/rm -f ${IMAGE}

${CBIN}.conf: ${LISTS}
	awk -f ${.CURDIR}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf

${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
	crunchgen -D ${.CURDIR}/../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF}

${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
	make -f ${CBIN}.mk all

.ifndef RELEASEDIR
release:
	@echo setenv RELEASEDIR first
	@false
.else
release: ${IMAGE}
	mkdir -p ${RELEASEDIR}/installation/miniroot
	gzip -c -9 < ${.OBJDIR}/miniroot.fs \
		> ${RELEASEDIR}/installation/miniroot/miniroot.fs.gz
	${.CURDIR}/../sets/makesums \
		-t ${RELEASEDIR}/installation/miniroot miniroot.fs.gz

.endif	# RELEASEDIR check
.endif	# DESTDIR check

clean cleandir distclean:
	/bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
	${CBIN}.conf *.o *.cro *.c

.include <bsd.obj.mk>
.include <bsd.subdir.mk>