Home | History | Annotate | Line # | Download | only in ramdisk
Makefile revision 1.6
      1 #	$NetBSD: Makefile,v 1.6 2002/03/28 04:33:23 lukem Exp $
      2 
      3 TOP=		${.CURDIR}/..
      4 
      5 .include "${TOP}/Makefile.inc"
      6 IMAGE=		ramdisk.fs
      7 
      8 AUXDEPENDS=	disktab.preinstall dot.profile termcap.src
      9 
     10 CBIN=		ramdiskbin
     11 
     12 MOUNT_POINT?=	/mnt
     13 # DEV/RDEV file system device, CDEV/RCDEV vnconfig device
     14 VND?=		vnd0
     15 VND_DEV=	/dev/${VND}a
     16 VND_RDEV=	/dev/r${VND}a
     17 VND_CDEV=	/dev/${VND}c
     18 VND_CRDEV=	/dev/r${VND}c
     19 MDEC=		${DESTDIR}/usr/mdec
     20 
     21 LISTS=		list
     22 CRUNCHCONF=	${CBIN}.conf
     23 MTREECONF=	mtree.conf
     24 
     25 CRUNCHGEN?=	crunchgen
     26 MTREE?=		mtree
     27 
     28 DISKSIZE=	2048k
     29 DISKTYPE=	floppyinstfs
     30 DBG=		-Os -mmultiple
     31 
     32 all: ${IMAGE}
     33 
     34 ${IMAGE}: ${CBIN} ${AUXDEPENDS} ${MTREECONF} ${LISTS}
     35 	rm -f ${IMAGE}.tmp
     36 	dd if=/dev/zero of=${IMAGE}.tmp bs=${DISKSIZE} count=1
     37 	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}.tmp
     38 	disklabel -f ${.CURDIR}/disktab -rw ${VND_CDEV} ${DISKTYPE}
     39 	newfs -B be -m 0 -o space -i 6144 -c 128 ${VND_RDEV}
     40 	mount ${VND_DEV} ${MOUNT_POINT}
     41 	${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -u
     42 	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
     43 	    KERNOBJDIR=${KERNOBJDIR} \
     44 	    TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${.CURDIR}/${LISTS}
     45 	@echo ""
     46 	@df -i ${MOUNT_POINT}
     47 	@echo ""
     48 	umount ${MOUNT_POINT}
     49 	vnconfig -u ${VND_CDEV}
     50 	mv -f ${IMAGE}.tmp ${IMAGE}
     51 
     52 unconfig:
     53 	-umount -f ${MOUNT_POINT}
     54 	-vnconfig -u ${VND_CDEV}
     55 	-rm -f ${IMAGE}
     56 
     57 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
     58 	${CRUNCHGEN} -D ${TOP}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
     59 
     60 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
     61 	${MAKE} -f ${CBIN}.mk DBG="${DBG}" all
     62 
     63 # Use stubs to eliminate some large stuff from libc
     64 HACKSRC=	${DISTRIBDIR}/utils/libhack
     65 .include	"${HACKSRC}/Makefile.inc"
     66 ${CBIN}:	libhack.o
     67 
     68 release:
     69 
     70 clean cleandir distclean:
     71 	rm -f ${IMAGE} ${IMAGE}.tmp ${CBIN} ${CBIN}.mk ${CBIN}.cache
     72 	rm -f *.core *.o *.cro *.c
     73 
     74 .include <bsd.sys.mk>
     75 .include <bsd.obj.mk>
     76