Home | History | Annotate | Line # | Download | only in ramdisk
Makefile revision 1.10
      1 #	$NetBSD: Makefile,v 1.10 2000/11/24 21:58:36 scw 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 CRUNCHGEN?=	crunchgen
     24 
     25 # These are all the parameters for the root fs: (384K)
     26 # NOTE: If you change NBLKS, you *must* also edit the
     27 #       rdroot entry in /etc/disktab
     28 DISKTYPE=	rdroot
     29 NBLKS=		1024
     30 
     31 CLEANFILES=	netbsd-rd ${IMAGE}
     32 
     33 netbsd-rd:	${IMAGE}
     34 	cp ${KERNEL} netbsd-tmp
     35 	mdsetimage netbsd-tmp ${IMAGE}
     36 	-mv -f netbsd-tmp $@
     37 
     38 ${IMAGE}:	${TREE} ${LISTS} ${CBIN}
     39 	dd if=/dev/zero of=${IMAGE} count=${NBLKS}
     40 	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
     41 	newfs -B be -m 0 -o space -i 2048 ${VND_CRDEV} ${DISKTYPE}
     42 	mount ${VND_CDEV} ${MOUNT_POINT}
     43 	mtree -def ${.CURDIR}/${TREE} -p ${MOUNT_POINT}/ -u
     44 	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
     45 	    KERNOBJDIR=${KERNOBJDIR} \
     46 	    TARGDIR=${MOUNT_POINT} sh ${.CURDIR}/runlist.sh ${.CURDIR}/${LISTS}
     47 	@echo ""
     48 	@df -i ${MOUNT_POINT}
     49 	@echo ""
     50 	umount ${MOUNT_POINT}
     51 	vnconfig -u ${VND_CDEV}
     52 
     53 unconfig:
     54 	-umount -f ${MOUNT_POINT}     
     55 	-vnconfig -u ${VND_CDEV}      
     56 	-/bin/rm -f ${IMAGE}
     57 
     58 # Do not delete this if I change my mind and kill make...
     59 .PRECIOUS: ${IMAGE}
     60 
     61 CLEANFILES+= ${CBIN} ${CBIN}.c ${CBIN}.cache ${CBIN}.mk ${CBIN}.syms
     62 CLEANFILES+= *.cro *_stub.o *_stub.c
     63 
     64 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
     65 	${CRUNCHGEN} -D ${BSDSRCDIR} -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
     66 
     67 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
     68 	${MAKE} -f ${CBIN}.mk all
     69 
     70 # This is listed in rd_bin.conf but is built here.
     71 ${CBIN} : libhack.o
     72 
     73 # Use stubs to eliminate some large stuff from libc
     74 HACKSRC=${TOP}/../utils/libhack
     75 .include "${HACKSRC}/Makefile.inc"
     76 
     77 release:	netbsd-rd
     78 	-mkdir -p ${RELEASEDIR}/installation/tapeimage
     79 	gzip < netbsd-rd > ${RELEASEDIR}/installation/tapeimage/netbsd-rd.gz
     80 
     81 clean cleandir distclean:
     82 	-rm -f a.out core *.core *.o
     83 	-rm -f ${CLEANFILES}
     84 
     85 # Standard rules needed by the above...
     86 .include <bsd.kernobj.mk>
     87 .include <bsd.obj.mk>
     88