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