1 # $NetBSD: Makefile,v 1.5 2001/10/13 06:15:18 jmc 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 MTREECONF= ${.CURDIR}/mtree.conf 28 29 MTREE?= mtree 30 31 realall: ${IMAGE} 32 33 ${IMAGE}: ${CBIN} 34 dd if=/dev/zero of=${IMAGE} count=${CSIZE} 35 vnconfig -v -c ${VND} ${IMAGE} 36 disklabel -rw -f ${DISKTAB} ${VND} ${DISKTYPE} 37 newfs -B be -m 0 -o space -i 5120 ${VND_RDEV} 38 mount ${VND_DEV} ${MOUNT_POINT} 39 ${MTREE} -def ${MTREECONF} -p ${MOUNT_POINT}/ -u 40 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \ 41 KERNOBJDIR=${KERNOBJDIR} \ 42 TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} 43 @echo "" 44 @df -i ${MOUNT_POINT} 45 @echo "" 46 @echo Building diskimage tar file... 47 tar cf - -C ${MOUNT_POINT} . | gzip -9 > ${DISKIMAGE} 48 @echo "" 49 umount ${MOUNT_POINT} 50 vnconfig -u ${VND} 51 52 unconfig: 53 -umount -f ${MOUNT_POINT} 54 -vnconfig -u ${VND} 55 -/bin/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 all 62 63 echoimage: 64 @echo ${.OBJDIR}/${IMAGE} 65 66 .if !defined(RELEASEDIR) 67 release: .USE 68 @echo setenv RELEASEDIR first! 69 @false 70 .else 71 release: ${DISKIMAGE} 72 -mkdir -p ${NETBOOTDIR} 73 ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o root -g wheel \ 74 -m ${NONBINMODE} ${DISKIMAGE} ${NETBOOTDIR} 75 .endif # !defined(RELEASEDIR) 76 77 realinstall: release 78 79 clean cleandir distclean: 80 /bin/rm -f *.core ${CLEANFILES} *.o *.cro *.c 81 82 .include <bsd.own.mk> 83 .include <bsd.obj.mk> 84 .include <bsd.depall.mk> 85