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