Home | History | Annotate | Line # | Download | only in ramdisk
Makefile revision 1.6
      1 #	$NetBSD: Makefile,v 1.6 2000/05/02 16:06:51 sjg Exp $
      2 
      3 TOP=		${.CURDIR}/..
      4 
      5 # This include just sets REV=XX
      6 .include "${TOP}/Makefile.inc"
      7 
      8 IMAGE=		ramdisk-${REV}.fs
      9 CBIN=		rd_bin
     10 
     11 TREE=		mtree.conf
     12 LISTS=		list
     13 CRUNCHCONF=	${CBIN}.conf
     14 
     15 KERNEL=		${KERNOBJDIR}/RAMDISK/netbsd
     16 
     17 MOUNT_POINT?=   /mnt
     18 # DEV/RDEV file system device, CDEV/RDEV vnconfig device
     19 VND?=           vnd0
     20 VND_CDEV=       /dev/${VND}c
     21 VND_CRDEV=      /dev/r${VND}c
     22 
     23 # These are all the parameters for the root fs: (384K)
     24 # NOTE: If you change NBLKS, you *must* also edit the
     25 #       rdroot entry in /etc/disktab
     26 DISKTYPE=	rdroot
     27 NBLKS=		768
     28 
     29 CLEANFILES=	netbsd-rd ${IMAGE}
     30 
     31 netbsd-rd:	${IMAGE}
     32 	cp ${KERNEL} netbsd-tmp
     33 	mdsetimage netbsd-tmp ${IMAGE}
     34 	-mv -f netbsd-tmp $@
     35 
     36 ${IMAGE}:	${TREE} ${LISTS} ${CBIN}
     37 	dd if=/dev/zero of=${IMAGE} count=${NBLKS}
     38 	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
     39 	newfs -B be -m 0 -o space -i 2048 ${VND_CRDEV} ${DISKTYPE}
     40 	mount ${VND_CDEV} ${MOUNT_POINT}
     41 	mtree -def ${.CURDIR}/${TREE} -p ${MOUNT_POINT}/ -u
     42 	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
     43 	    KERNOBJDIR=${KERNOBJDIR} \
     44 	    TARGDIR=${MOUNT_POINT} sh ${.CURDIR}/runlist.sh ${.CURDIR}/${LISTS}
     45 	@echo ""
     46 	@df -i ${MOUNT_POINT}
     47 	@echo ""
     48 	umount ${MOUNT_POINT}
     49 	vnconfig -u ${VND_CDEV}
     50 
     51 unconfig:
     52 	-umount -f ${MOUNT_POINT}     
     53 	-vnconfig -u ${VND_CDEV}      
     54 	-/bin/rm -f ${IMAGE}
     55 
     56 # Do not delete this if I change my mind and kill make...
     57 .PRECIOUS: ${IMAGE}
     58 
     59 CLEANFILES+= ${CBIN} ${CBIN}.c ${CBIN}.cache ${CBIN}.mk ${CBIN}.syms
     60 CLEANFILES+= *.cro *_stub.o *_stub.c
     61 
     62 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
     63 	crunchgen -D ${BSDSRCDIR} -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
     64 
     65 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
     66 	make -f ${CBIN}.mk all
     67 
     68 # This is listed in rd_bin.conf but is built here.
     69 ${CBIN} : libhack.o
     70 
     71 # Use stubs to eliminate some large stuff from libc
     72 HACKSRC=${TOP}/../utils/libhack
     73 .include "${HACKSRC}/Makefile.inc"
     74 
     75 clean cleandir distclean:
     76 	-rm -f a.out core *.core *.o
     77 	-rm -f ${CLEANFILES}
     78 
     79 # Standard rules needed by the above...
     80 .include <bsd.kernobj.mk>
     81 .include <bsd.obj.mk>
     82