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