1 # $NetBSD: Makefile,v 1.15 1997/09/09 23:02:04 is Exp $ 2 3 .include <bsd.own.mk> 4 5 REV!=sh ${BSDSRCDIR}/sys/conf/osrelease.sh -s 6 7 CBIN= instbin 8 ARCHDIR= ${.CURDIR}/../${MACHINE}/miniroot 9 10 .if exists(${ARCHDIR}/Makefile.inc) 11 .include "${ARCHDIR}/Makefile.inc" 12 .endif 13 14 MOUNT_POINT?= /mnt 15 VND?= vnd0c 16 VND_DEV= /dev/${VND} 17 VND_RDEV= /dev/r${VND} 18 IMAGE?= miniroot-${REV}.fs 19 IMAGESIZE?= 12288 # 6Mb in 512 byte blocks 20 NEWFSOPTS?= 21 BOOTINSTALL?= true 22 23 .ifdef DISKTYPE 24 DISKTYPEARG= -t ${DISKTYPE} 25 .endif 26 27 LISTS= ${.CURDIR}/list ${ARCHDIR}/list 28 CRUNCHCONF= ${CBIN}.conf 29 MTREE= ${.CURDIR}/mtree.conf 30 31 .ifndef DESTDIR 32 all: 33 @echo setenv DESTDIR before makeing a miniroot! 34 @false 35 .else 36 37 all: ${CBIN} 38 dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE} 39 vnconfig ${DISKTYPEARG} -v -c ${VND_DEV} ${IMAGE} 40 -newfs -m 0 -o space ${NEWFSOPTS} ${VND_RDEV} ${DISKTYPE} 41 ${BOOTINSTALL} 42 mount ${VND_DEV} ${MOUNT_POINT} 43 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 44 REV=${REV} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \ 45 TARGDIR=${MOUNT_POINT} VND_RDEV=${VND_RDEV} \ 46 sh ${.CURDIR}/runlist.sh ${LISTS} 47 @echo "" 48 @df -i ${MOUNT_POINT} 49 @echo "" 50 umount ${MOUNT_POINT} 51 vnconfig -u ${VND_DEV} 52 cat /*bin/* > /dev/null 53 54 unconfig: 55 -umount -f ${MOUNT_POINT} 56 -vnconfig -u ${VND_DEV} 57 -/bin/rm -f ${IMAGE} 58 59 ${CBIN}.conf: ${LISTS} 60 awk -f ${.CURDIR}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 61 62 ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 63 crunchgen -D ${.CURDIR}/../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} 64 65 ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 66 make -f ${CBIN}.mk all 67 68 clean cleandir: 69 /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 70 ${CBIN}.conf *.o *.lo *.c 71 72 .endif # DESTDIR check 73 .include <bsd.obj.mk> 74 .include <bsd.subdir.mk> 75