Home | History | Annotate | Line # | Download | only in ramdisk
Makefile revision 1.14
      1 #	$NetBSD: Makefile,v 1.14 2000/11/01 07:58:00 garbled Exp $
      2 
      3 BINDIR=		/installation/netboot
      4 
      5 TOP?=		${.CURDIR}/..
      6 ARCHDIR?=	${.CURDIR}/../miniroot
      7 
      8 .include "${TOP}/Makefile.inc"
      9 IMAGE=		ramdisk.fs
     10 DISKIMAGE=	diskimage.tgz
     11 
     12 CBIN=		ramdiskbin
     13 CSIZE=		6144 # 512 byte blocks, update disktab.ramdisk if changed
     14 DISKTAB=	${.CURDIR}/disktab.ramdisk
     15 DISKTYPE=	install-ramdisk
     16 MOUNT_POINT?=	/mnt
     17 
     18 VND?=		vnd0
     19 VND_DEV=	/dev/${VND}c
     20 VND_RDEV=	/dev/r${VND}c
     21 
     22 CLEANFILES=	${IMAGE} ${DISKIMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache
     23 
     24 LISTS=		${.CURDIR}/list
     25 CRUNCHCONF=	${.CURDIR}/${CBIN}.conf
     26 MTREE=		${.CURDIR}/mtree.conf
     27 
     28 CRUNCHGEN?=	crunchgen
     29 
     30 all: ${IMAGE}
     31 
     32 ${IMAGE}: ${CBIN} 
     33 	dd if=/dev/zero of=${IMAGE} count=${CSIZE}
     34 	vnconfig -v -c ${VND} ${IMAGE}
     35 	disklabel -rw -f ${DISKTAB} ${VND} ${DISKTYPE}
     36 	newfs -B le -m 0 -o space -i 5120 ${VND_RDEV}
     37 	mount ${VND_DEV} ${MOUNT_POINT}
     38 	mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
     39 	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \
     40 	    KERNOBJDIR=${KERNOBJDIR} \
     41 	    TARGDIR=${MOUNT_POINT} sh ${TOP}/src/runlist.sh ${LISTS}
     42 	@echo ""
     43 	@df -i ${MOUNT_POINT}
     44 	@echo ""
     45 	@echo Building diskimage tar file...
     46 	tar cf - -C ${MOUNT_POINT} . | gzip -9 > ${DISKIMAGE}
     47 	@echo ""
     48 	umount ${MOUNT_POINT}
     49 	vnconfig -u ${VND}
     50 
     51 unconfig:
     52 	-umount -f ${MOUNT_POINT}
     53 	-vnconfig -u ${VND}
     54 	-/bin/rm -f ${IMAGE}
     55 
     56 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
     57 	${CRUNCHGEN} -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
     58 
     59 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
     60 	${MAKE} -f ${CBIN}.mk all
     61 
     62 echoimage:
     63 	@echo ${.OBJDIR}/${IMAGE}
     64 
     65 realinstall:
     66 	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o root -g wheel \
     67 		-m ${NONBINMODE} ${DISKIMAGE} ${RELEASEDIR}${BINDIR}
     68 
     69 clean cleandir distclean:
     70 	/bin/rm -f *.core ${CLEANFILES} *.o *.cro *.c
     71 
     72 # XXX!
     73 depend:
     74 
     75 .include <bsd.own.mk>
     76 .include <bsd.obj.mk>
     77 .include "../Makefile.inc"
     78