Makefile revision 1.30
11.30Stron#	$NetBSD: Makefile,v 1.30 2001/11/08 16:52:21 tron Exp $
21.21Spk#
31.21Spk# ramdisk.fs is the microroot filesystem intended for use with
41.21Spk# the INSTALL kernel. It provides just enough tools to extract the
51.21Spk# miniroot-based `instfs' filesystem into an MFS mount point
61.21Spk# and start the installation scripts from there (see dot.profile).
71.21Spk#
81.1Smrg
91.1SmrgTOP=		${.CURDIR}/..
101.6SmrgMINIROOT=	${.CURDIR}/../../miniroot
111.1Smrg
121.1Smrg.include "${TOP}/Makefile.inc"
131.1Smrg
141.1SmrgCBIN=		ramdiskbin
151.1Smrg
161.1SmrgMOUNT_POINT?=	/mnt
171.1Smrg# DEV/RDEV file system device, CDEV/RDEV vnconfig device
181.1SmrgVND?=		vnd0
191.1SmrgVND_DEV=	/dev/${VND}a
201.1SmrgVND_RDEV=	/dev/r${VND}a
211.1SmrgVND_CDEV=	/dev/${VND}c
221.1SmrgVND_CRDEV=	/dev/r${VND}c
231.1SmrgMDEC=		${DESTDIR}/usr/mdec
241.15SpkIMAGE?=		ramdisk.fs
251.1Smrg
261.1SmrgLISTS=		list
271.28SenamiMTREECONF=	mtree.conf
281.1Smrg
291.24SgarbledCRUNCHGEN?=	crunchgen
301.29SjmcMTREE?=		mtree
311.24Sgarbled
321.21Spk# image size in 512-byte blocks
331.21SpkSIZE=		1360
341.21Spk#DISKTYPE=	instfs
351.21SpkGEOM=		512/1/${SIZE}/1
361.26SpkINO_BYTES=	2752
371.1Smrg
381.11Smrgall: ${CBIN}
391.21Spk	dd if=/dev/zero of=${IMAGE} bs=${SIZE}b count=1
401.30Stron	#vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}
411.30Stron	vnconfig -v -c ${VND} ${IMAGE} ${GEOM}
421.17Scjs	#disklabel -rw ${VND_CDEV} ${DISKTYPE}
431.17Scjs	#disklabel -W ${VND_CDEV}
441.17Scjs	newfs -B be -m 0 -o space -i ${INO_BYTES} ${VND_RDEV}
451.1Smrg	mount ${VND_DEV} ${MOUNT_POINT}
461.29Sjmc	${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -u
471.6Smrg	TOPDIR=${TOP} CURDIR=${MINIROOT} REALCURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
481.18Ssjg	    KERNOBJDIR=${KERNOBJDIR} \
491.6Smrg	    TARGDIR=${MOUNT_POINT} sh ${MINIROOT}/runlist.sh ${.CURDIR}/${LISTS}
501.1Smrg	@echo ""
511.1Smrg	@df -i ${MOUNT_POINT}
521.1Smrg	@echo ""
531.1Smrg	umount ${MOUNT_POINT}
541.30Stron	vnconfig -u ${VND}
551.1Smrg
561.1Smrgunconfig:
571.1Smrg	-umount -f ${MOUNT_POINT}
581.30Stron	-vnconfig -u ${VND}
591.1Smrg	-/bin/rm -f ${IMAGE}
601.1Smrg
611.11Smrg${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
621.24Sgarbled	${CRUNCHGEN} -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
631.1Smrg
641.11Smrg${CBIN}.conf: ${LISTS}
651.13Smycroft	awk -f ${MINIROOT}/makeconf.awk CBIN=${CBIN} ${.CURDIR}/${LISTS} > ${CBIN}.conf
661.11Smrg
671.1Smrg${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
681.22Sgarbled	${MAKE} -f ${CBIN}.mk all
691.6Smrg
701.6Smrg# This is listed in ramdiskbin.conf but is built here.
711.6Smrg${CBIN}: libhack.o
721.6Smrg
731.6Smrg# Use stubs to eliminate some large stuff from libc
741.11SmrgNOLIBHACKOPENDIR=1
751.6SmrgHACKSRC=${TOP}/../utils/libhack
761.6Smrg.include "${HACKSRC}/Makefile.inc"
771.1Smrg
781.4Slukemclean cleandir distclean:
791.14Spk	/bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
801.14Spk	${CBIN}.conf *.o *.cro *.c
811.1Smrg
821.1Smrg.include <bsd.obj.mk>
831.27Schs.include <bsd.sys.mk>
841.1Smrg.include <bsd.subdir.mk>
85