1 # $NetBSD: Makefile,v 1.32.4.1 2002/03/25 17:32:56 he Exp $ 2 3 .include "../../Makefile.inc" 4 .include <bsd.own.mk> 5 .include <bsd.kernobj.mk> 6 7 REV!=sh ${.CURDIR}/../../sys/conf/osrelease.sh -s 8 VERDEP= ${.CURDIR}/../../sys/conf/osrelease.sh 9 10 CBIN= instbin 11 ARCHDIR= ${.CURDIR}/../${MACHINE}/miniroot 12 13 .if exists(${ARCHDIR}/Makefile.inc) 14 .include "${ARCHDIR}/Makefile.inc" 15 .endif 16 17 VND?= vnd0c 18 VND_DEV= /dev/${VND} 19 VND_RDEV= /dev/r${VND} 20 VND_GEOM?= 21 IMAGE?= miniroot.fs 22 IMAGESIZE?= 14336 # 7MB in 512 byte blocks 23 NEWFSOPTS?= 24 MOUNT_POINT?= /mnt 25 BOOTINSTALL?= true 26 PRELABEL?= true 27 28 .ifdef DISKTYPE 29 DISKTYPEARG= -t ${DISKTYPE} 30 .endif 31 32 LISTS= ${.CURDIR}/list ${ARCHDIR}/list 33 CRUNCHCONF= ${CBIN}.conf 34 MTREE= ${.CURDIR}/mtree.conf 35 ICMD= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} \ 36 -o root -g wheel -m ${NONBINMODE} 37 38 .ifndef DESTDIR 39 all: 40 @echo setenv DESTDIR before making a miniroot! 41 @false 42 .else 43 44 all: ${CBIN} 45 dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE} 46 vnconfig ${DISKTYPEARG} -v -c ${VND_DEV} ${IMAGE} ${VND_GEOM} 47 ${PRELABEL} 48 -newfs -m 0 -o space ${NEWFSOPTS} ${VND_RDEV} ${DISKTYPE} 49 ${BOOTINSTALL} 50 mount -o async ${VND_DEV} ${MOUNT_POINT} 51 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 52 REV=${REV} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \ 53 TARGDIR=${MOUNT_POINT} VND_RDEV=${VND_RDEV} \ 54 KERNOBJDIR=${KERNOBJDIR} \ 55 sh ${.CURDIR}/runlist.sh ${LISTS} 56 @echo "" 57 @df -i ${MOUNT_POINT} 58 @echo "" 59 umount ${MOUNT_POINT} 60 vnconfig -u ${VND_DEV} 61 62 unconfig: 63 -umount -f ${MOUNT_POINT} 64 -vnconfig -u ${VND_DEV} 65 -/bin/rm -f ${IMAGE} 66 67 ${CBIN}.conf: ${LISTS} 68 awk -f ${.CURDIR}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 69 70 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 71 crunchgen -D ${.CURDIR}/../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} 72 73 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c ${VERDEP} 74 make -f ${CBIN}.mk all 75 76 .ifndef RELEASEDIR 77 release: 78 @echo setenv RELEASEDIR first 79 @false 80 .else 81 release: ${IMAGE} 82 mkdir -p ${RELEASEDIR}/installation/miniroot 83 gzip -c -9 < ${.OBJDIR}/miniroot.fs \ 84 > ${RELEASEDIR}/installation/miniroot/miniroot.fs.gz 85 ${.CURDIR}/../sets/makesums \ 86 -t ${RELEASEDIR}/installation/miniroot miniroot.fs.gz 87 88 .endif # RELEASEDIR check 89 .endif # DESTDIR check 90 91 clean cleandir distclean: 92 /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 93 ${CBIN}.conf *.o *.cro *.c 94 95 .include <bsd.obj.mk> 96 .include <bsd.subdir.mk> 97