1 # $NetBSD: Makefile,v 1.29 2002/05/02 18:02:59 lukem Exp $ 2 3 .include <bsd.own.mk> 4 .include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 5 6 TOP= ${.CURDIR}/.. 7 8 .include "${TOP}/Makefile.inc" 9 10 DBG= -Os 11 12 IMAGE= ramdisk 13 CBIN= rd_bin 14 15 TREE= ${TOP}/common/${IMAGE}.tree 16 17 LISTS= ${TOP}/common/${CBIN}.list \ 18 ${TOP}/common/${IMAGE}.list 19 20 KERNEL3 = ${KERNOBJDIR}/RAMDISK/netbsd 21 KERNEL3X = ${KERNOBJDIR}/RAMDISK3X/netbsd 22 23 MOUNT_POINT?= /mnt 24 VND?= vnd1 25 VND_DEV?= /dev/${VND}a 26 VND_RDEV?= /dev/r${VND}a 27 28 # These are all the parameters for the root fs: 29 DISKTYPE= rdroot 30 SIZE= 400k 31 # bigendian, minfree, opt, b/i , cpg 32 NEWFSARGS= -B be -m 0 -o space -i 4096 -c 20 33 MDSETIMAGE?= mdsetimage 34 MTREE?= mtree 35 36 KERNELS= netbsd.RAMDISK netbsd.RAMDISK3X 37 CLEANFILES= $(KERNELS) ${IMAGE}.fs netbsd-tmp 38 39 all: $(KERNELS) 40 41 netbsd.RAMDISK : ${IMAGE}.fs 42 cp ${KERNEL3} netbsd-tmp 43 ${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs 44 -mv -f netbsd-tmp $@ 45 46 netbsd.RAMDISK3X : ${IMAGE}.fs 47 cp ${KERNEL3X} netbsd-tmp 48 ${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs 49 -mv -f netbsd-tmp $@ 50 51 ${IMAGE}.fs: ${TREE} ${LISTS} ${CBIN} 52 dd if=/dev/zero of=${IMAGE}.fs bs=${SIZE} count=1 53 vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}.fs 54 disklabel -rw ${VND} ${DISKTYPE} 55 newfs ${NEWFSARGS} ${VND_RDEV} 56 mount ${VND_DEV} ${MOUNT_POINT} 57 ${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u 58 TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \ 59 OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \ 60 sh ${TOP}/common/RunList.sh ${LISTS} 61 sync 62 @echo "" 63 @df -i ${MOUNT_POINT} 64 @echo "" 65 umount ${MOUNT_POINT} 66 vnconfig -u ${VND} 67 68 unconfig: 69 -umount -f ${MOUNT_POINT} 70 -vnconfig -u ${VND} 71 -/bin/rm -f ${IMAGE}.fs 72 73 # Do not delete this if I change my mind and kill make... 74 .PRECIOUS: ${IMAGE}.fs 75 76 # Rules for making ${CBIN} ... 77 .include "${TOP}/common/Make.crunch" 78 79 # Use stubs to eliminate some large stuff from libc 80 HACKSRC= ${DISTRIBDIR}/utils/libhack 81 .include "${HACKSRC}/Makefile.inc" 82 ${CBIN}: libhack.o 83 84 release: check_RELEASEDIR .WAIT $(KERNELS) 85 .for x in ${KERNELS} 86 gzip -c -9 < ${x} > \ 87 ${RELEASEDIR}/binary/kernel/${x}.gz 88 .endfor # KERNELS 89 90 .INTERRUPT: unconfig 91 92 .include <bsd.prog.mk> 93