1 1.7.2.2 he # $NetBSD: Makefile,v 1.7.2.2 2000/03/01 00:28:02 he Exp $ 2 1.1 gwr 3 1.1 gwr TOP= ${.CURDIR}/.. 4 1.1 gwr 5 1.1 gwr # This include just sets REV=XX 6 1.1 gwr .include "${TOP}/Makefile.inc" 7 1.1 gwr 8 1.1 gwr IMAGE= ramdisk 9 1.1 gwr CBIN= rd_bin 10 1.1 gwr 11 1.1 gwr TREE= ${TOP}/common/${IMAGE}.tree 12 1.1 gwr 13 1.1 gwr LISTS= ${TOP}/common/${CBIN}.list \ 14 1.1 gwr ${TOP}/common/${IMAGE}.list 15 1.1 gwr 16 1.7.2.1 perry KERNEL3 = ${KERNOBJDIR}/RAMDISK/netbsd 17 1.7.2.1 perry KERNEL3X = ${KERNOBJDIR}/RAMDISK3X/netbsd 18 1.3 gwr 19 1.7.2.1 perry MOUNT_POINT?= /mnt 20 1.7.2.2 he # DEV/RDEV file system device, CDEV/CRDEV vnconfig device 21 1.7.2.2 he VND?= vnd0 22 1.7.2.2 he VND_DEV= /dev/${VND}a 23 1.7.2.2 he VND_RDEV= /dev/r${VND}a 24 1.7.2.2 he VND_CDEV= /dev/${VND}c 25 1.7.2.2 he VND_CRDEV= /dev/r${VND}c 26 1.7.2.2 he 27 1.7.2.2 he CYLS= 20 28 1.7.2.2 he SECS= 16 29 1.7.2.2 he TRKS= 2 30 1.7.2.2 he TOTALSECT != expr ${CYLS} '*' ${SECS} '*' ${TRKS} 31 1.3 gwr DISKTYPE= rdroot 32 1.7.2.2 he DISKTAB= ./${DISKTYPE}.disktab 33 1.7.2.2 he GEOM= 512/${SECS}/${TRKS}/${CYLS} 34 1.7.2.2 he INO_BYTES= 2048 35 1.1 gwr 36 1.7.2.1 perry KERNELS= netbsd-RAMDISK netbsd-RAMDISK3X 37 1.7.2.2 he CLEANFILES= $(KERNELS) rdsetroot ${IMAGE}.fs ${DISKTAB} 38 1.1 gwr 39 1.7.2.1 perry all: $(KERNELS) 40 1.5 gwr 41 1.7.2.1 perry netbsd-RAMDISK : rdsetroot ${IMAGE}.fs 42 1.5 gwr cp ${KERNEL3} netbsd-tmp 43 1.5 gwr ./rdsetroot netbsd-tmp < ${IMAGE}.fs 44 1.5 gwr -mv -f netbsd-tmp $@ 45 1.5 gwr 46 1.7.2.1 perry netbsd-RAMDISK3X : rdsetroot ${IMAGE}.fs 47 1.5 gwr cp ${KERNEL3X} netbsd-tmp 48 1.1 gwr ./rdsetroot netbsd-tmp < ${IMAGE}.fs 49 1.1 gwr -mv -f netbsd-tmp $@ 50 1.1 gwr 51 1.1 gwr rdsetroot: ${TOP}/common/rdsetroot.c 52 1.1 gwr $(CC) -o $@ -DDEBUG ${TOP}/common/rdsetroot.c 53 1.1 gwr 54 1.7.2.2 he ${DISKTAB}: 55 1.7.2.2 he echo "${DISKTYPE}:ty=simulated:se#512:nt#${TRKS}:ns#${SECS}:nc#${CYLS}:pa#${TOTALSECT}:oa#0:ba#4096:fa#512:ta=4.2BSD:pc#${TOTALSECT}:oc#0:" > $@ 56 1.7.2.2 he 57 1.7.2.2 he ${IMAGE}.fs: ${TREE} ${LISTS} ${CBIN} ${DISKTAB} 58 1.7.2.2 he dd if=/dev/zero of=$@ bs=512 count=${TOTALSECT} 59 1.7.2.2 he vnconfig -v -c ${VND_CDEV} $@ ${GEOM} 60 1.7.2.2 he disklabel -rw -f ${DISKTAB} ${VND_CDEV} ${DISKTYPE} 61 1.7.2.2 he disklabel -W ${VND_CDEV} 62 1.7.2.2 he # bigendian, old format, minfree, opt, b/i, cpg, device 63 1.7.2.2 he newfs -B be -O -m 0 -o space -i ${INO_BYTES} -c ${CYLS} ${VND_RDEV} 64 1.7.2.2 he mount ${VND_DEV} ${MOUNT_POINT} 65 1.3 gwr mtree -def ${TREE} -p ${MOUNT_POINT}/ -u 66 1.3 gwr TOPDIR=${TOP} CURDIR=${.CURDIR} \ 67 1.3 gwr OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \ 68 1.3 gwr sh ${TOP}/common/RunList.sh ${LISTS} 69 1.3 gwr sync 70 1.3 gwr @echo "" 71 1.3 gwr @df -i ${MOUNT_POINT} 72 1.3 gwr @echo "" 73 1.7.2.2 he umount ${MOUNT_POINT} 74 1.7.2.2 he vnconfig -u ${VND_CDEV} 75 1.1 gwr 76 1.2 gwr # Do not delete this if I change my mind and kill make... 77 1.7.2.2 he # Yes delete the durn thing, in case the make fails because vnd is busy!! 78 1.7.2.2 he #.PRECIOUS: ${IMAGE}.fs 79 1.2 gwr 80 1.1 gwr # Rules for making ${CBIN} ... 81 1.1 gwr .include "${TOP}/common/Make.crunch" 82 1.1 gwr 83 1.3 gwr # This is listed in rd_bin.conf but is built here. 84 1.1 gwr ${CBIN} : libhack.o 85 1.1 gwr 86 1.1 gwr # Use stubs to eliminate some large stuff from libc 87 1.1 gwr HACKSRC=${TOP}/../utils/libhack 88 1.1 gwr .include "${HACKSRC}/Makefile.inc" 89 1.1 gwr 90 1.6 lukem clean cleandir distclean: 91 1.7.2.2 he -rm -f a.out core *.core *.o *.cro 92 1.2 gwr -rm -f ${CLEANFILES} 93 1.7.2.2 he 94 1.7.2.2 he # XXX -- prevent 'make depend' from bombing out 95 1.7.2.2 he depend: 96 1.1 gwr 97 1.1 gwr # Standard rules needed by the above... 98 1.1 gwr .include <bsd.obj.mk> 99 1.7.2.1 perry 100 1.7.2.1 perry .if !defined(RELEASEDIR) 101 1.7.2.1 perry release: 102 1.7.2.1 perry @echo setenv RELEASEDIR before doing that! 103 1.7.2.1 perry @false 104 1.7.2.1 perry .else # RELEASEDIR 105 1.7.2.1 perry release: $(KERNELS) 106 1.7.2.1 perry .for x in ${KERNELS} 107 1.7.2.1 perry gzip -c -9 < ${x} > \ 108 1.7.2.1 perry ${RELEASEDIR}/binary/kernel/${x}.gz 109 1.7.2.1 perry .endfor # KERNELS 110 1.7.2.1 perry .endif # RELEASEDIR 111