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