1 # $NetBSD: Makefile,v 1.8.2.4 2000/06/03 15:17:46 he Exp $ 2 3 TOP= ${.CURDIR}/.. 4 MINIROOT= ${.CURDIR}/../../miniroot 5 6 .include "${TOP}/Makefile.inc" 7 8 CBIN= ramdiskbin 9 10 MOUNT_POINT?= /mnt 11 # DEV/RDEV file system device, CDEV/RDEV vnconfig device 12 VND?= vnd0 13 VND_DEV= /dev/${VND}a 14 VND_RDEV= /dev/r${VND}a 15 VND_CDEV= /dev/${VND}c 16 VND_CRDEV= /dev/r${VND}c 17 MDEC= ${DESTDIR}/usr/mdec 18 IMAGE?= ramdisk-${REV}.fs 19 20 LISTS= list 21 MTREE= mtree.conf 22 23 CYLS= 90 24 SECS= 18 25 TRKS= 2 26 TOTALSECT != expr ${CYLS} '*' ${SECS} '*' ${TRKS} 27 DISKTYPE= instfs 28 DISKTAB= ./instfs.disktab 29 GEOM= 512/${SECS}/${TRKS}/${CYLS} 30 INO_BYTES= 6144 31 32 33 all: ${CBIN} 34 dd if=/dev/zero of=${IMAGE} bs=512 count=${TOTALSECT} 35 vnconfig -v -c ${VND_CDEV} ${IMAGE} ${GEOM} 36 echo "${DISKTYPE}:ty=floppy:se#512:nt#${TRKS}:rm#300:ns#${SECS}:nc#${CYLS}:pa#${TOTALSECT}:oa#0:ba#4096:fa#512:ta=4.2BSD:pc#${TOTALSECT}:oc#0:" > ${DISKTAB} 37 disklabel -rw -f ${DISKTAB} ${VND_CDEV} ${DISKTYPE} 38 disklabel -W ${VND_CDEV} 39 newfs -B be -m 0 -o space -i ${INO_BYTES} -c ${CYLS} ${VND_RDEV} 40 mount ${VND_DEV} ${MOUNT_POINT} 41 mtree -def ${.CURDIR}/${MTREE} -p ${MOUNT_POINT}/ -u 42 TOPDIR=${TOP} CURDIR=${MINIROOT} REALCURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 43 TARGDIR=${MOUNT_POINT} sh ${MINIROOT}/runlist.sh ${.CURDIR}/${LISTS} 44 @echo "" 45 @df -i ${MOUNT_POINT} 46 @echo "" 47 umount ${MOUNT_POINT} 48 vnconfig -u ${VND_CDEV} 49 50 unconfig: 51 -umount -f ${MOUNT_POINT} 52 -vnconfig -u ${VND_DEV} 53 -/bin/rm -f ${IMAGE} 54 55 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf 56 crunchgen -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 57 58 ${CBIN}.conf: ${LISTS} 59 awk -f ${MINIROOT}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 60 61 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 62 make -f ${CBIN}.mk all 63 64 # This is listed in ramdiskbin.conf but is built here. 65 ${CBIN}: libhack.o 66 67 # Use stubs to eliminate some large stuff from libc 68 NOLIBHACKOPENDIR=1 69 HACKSRC=${TOP}/../utils/libhack 70 .include "${HACKSRC}/Makefile.inc" 71 72 clean cleandir distclean: 73 /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 74 ${CBIN}.conf *.o *.lo *.c ${DISKTAB} 75 76 .ifndef RELEASEDIR 77 release: 78 @echo setenv RELEASEDIR first 79 @false 80 .else 81 release: ${IMAGE} 82 gzip -c -9 < $(.OBJDIR)/${IMAGE} \ 83 > $(RELEASEDIR)/installation/ramdisk/${IMAGE}.gz 84 .endif # RELEASEDIR check 85 86 .include <bsd.obj.mk> 87 .include <bsd.subdir.mk> 88