Makefile revision 1.4
11.4Slukem#	$NetBSD: Makefile,v 1.4 2002/03/06 12:14:26 lukem Exp $
21.1Sfredette
31.1SfredetteTOP=		${.CURDIR}/..
41.1Sfredette
51.4Slukem# This include just sets DISTRIBREV=XX
61.1Sfredette.include "${TOP}/Makefile.inc"
71.1Sfredette
81.1SfredetteIMAGE=	miniroot
91.1Sfredette
101.1SfredetteTREE=	${TOP}/common/${IMAGE}.tree
111.1Sfredette
121.1SfredetteLISTS=	${TOP}/common/${IMAGE}.list \
131.1Sfredette	${TOP}/common/mini_sbin.list \
141.1Sfredette	${TOP}/common/mini_bin.list \
151.1Sfredette	${TOP}/common/mini_usr.list
161.1Sfredette
171.1SfredetteKERNEL  = ${KERNOBJDIR}/INSTALL/netbsd
181.1Sfredette
191.1SfredetteMOUNT_POINT?=	/mnt
201.3SfredetteRAW_PART!=	sysctl -n kern.rawpartition | tr '0-7' 'a-h'
211.1SfredetteVND?=		vnd1
221.1SfredetteVND_DEV?=	/dev/${VND}a
231.1SfredetteVND_RDEV?=	/dev/r${VND}a
241.3SfredetteVND_CRDEV?=	/dev/r${VND}${RAW_PART}
251.2Sjmc
261.1Sfredette# These are all the parameters for the miniroot: (12MB)
271.1SfredetteDISKTYPE=	miniroot
281.1SfredetteSIZE=		12
291.1Sfredette# bigendian, old format, minfree, opt, b/i, cpg
301.1SfredetteNEWFSARGS= -B be -O -m 0 -o space -i 8192 -c 16
311.3SfredetteMTREE?=		mtree
321.3SfredetteINSTALLBOOT?=	usr/mdec/installboot
331.1Sfredette
341.1SfredetteCLEANFILES= ${IMAGE}.gz ${IMAGE} ${IMAGE}.tmp install.sub
351.1Sfredette
361.1Sfredetteall: ${IMAGE}.gz
371.1Sfredette
381.1Sfredette${IMAGE}.gz: ${TREE} ${LISTS} install.sub
391.1Sfredette	dd if=/dev/zero of=${IMAGE} bs=1024k count=${SIZE}
401.3Sfredette	vnconfig -f ${.CURDIR}/disktab -t ${DISKTYPE} -v -c ${VND} ${IMAGE}
411.1Sfredette	disklabel -f ${.CURDIR}/disktab -rw ${VND} ${DISKTYPE}
421.1Sfredette	newfs ${NEWFSARGS} ${VND_RDEV}
431.1Sfredette	mount ${VND_DEV} ${MOUNT_POINT}
441.2Sjmc	${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u
451.1Sfredette	cp ${KERNEL}  ${MOUNT_POINT}/netbsd
461.1Sfredette	TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \
471.1Sfredette	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
481.1Sfredette	  sh ${TOP}/common/RunList.sh ${LISTS}
491.1Sfredette	sync ; sleep 1 ; sync
501.1Sfredette	cd ${MOUNT_POINT} ;\
511.3Sfredette	  ${INSTALLBOOT} -v ufsboot usr/mdec/bootxx ${VND_CRDEV}
521.1Sfredette	sync
531.1Sfredette	@echo ""
541.1Sfredette	@df -i ${MOUNT_POINT}
551.1Sfredette	@echo ""
561.1Sfredette	-umount ${MOUNT_POINT}
571.3Sfredette	dd if=${VND_DEV} of=${IMAGE}-tmp bs=1024k count=${SIZE}
581.1Sfredette	vnconfig -u ${VND}
591.3Sfredette	mv ${IMAGE}-tmp ${IMAGE}
601.1Sfredette	gzip -9 -c ${IMAGE} > ${IMAGE}.tmp
611.1Sfredette	-mv -f ${IMAGE}.tmp ${IMAGE}.gz
621.1Sfredette
631.1Sfredetteunconfig:
641.1Sfredette	-umount -f ${MOUNT_POINT}
651.3Sfredette	-vnconfig -u ${VND}
661.1Sfredette	-/bin/rm -f ${IMAGE} ${IMAGE}.tmp
671.1Sfredette
681.1Sfredette# Do not delete this if I change my mind and kill make...
691.1Sfredette.PRECIOUS: ${IMAGE}.gz
701.1Sfredette
711.1Sfredetteinstall.sub : ${TOP}/../miniroot/install.sub
721.4Slukem	sed -e "/^VERSION=/s/=.*/=${DISTRIBREV}/" < $? > $@
731.1Sfredette
741.1Sfredetteclean cleandir distclean:
751.1Sfredette	-rm -f a.out core *.core *.o
761.1Sfredette	-rm -f ${CLEANFILES}
771.1Sfredette
781.1Sfredette.if !defined(RELEASEDIR)
791.1Sfredetterelease:
801.1Sfredette	@echo setenv RELEASEDIR before doing that!
811.1Sfredette	@false
821.1Sfredette.else	# RELEASEDIR
831.1Sfredetterelease: ${IMAGE}.gz
841.1Sfredette	-mkdir -p ${RELEASEDIR}/installation/miniroot
851.1Sfredette	cp -p ${IMAGE}.gz \
861.1Sfredette	 ${RELEASEDIR}/installation/miniroot/${IMAGE}.gz
871.1Sfredette.endif	# RELEASEDIR
881.1Sfredette
891.1Sfredette# Standard rules needed by the above...
901.1Sfredette.include <bsd.obj.mk>
911.1Sfredette.include <bsd.subdir.mk>
92