Makefile revision 1.47
1# $NetBSD: Makefile,v 1.47 2002/02/12 01:38:17 lukem Exp $ 2 3.include "../../Makefile.inc" 4.include <bsd.own.mk> 5.include <bsd.kernobj.mk> 6 7CBIN= instbin 8ARCHDIR= ${.CURDIR}/../${MACHINE}/miniroot 9 10.if exists(${ARCHDIR}/Makefile.inc) 11.include "${ARCHDIR}/Makefile.inc" 12.endif 13 14VND?= vnd0 15VND_DEV= /dev/${VND}c 16VND_RDEV= /dev/r${VND}c 17VND_GEOM?= 18IMAGE?= miniroot.fs 19IMAGESIZE?= 14336 # 7MB in 512 byte blocks 20NEWFSOPTS?= 21MOUNT_POINT?= /mnt 22BOOTINSTALL?= true 23PRELABEL?= true 24 25.ifdef DISKTYPE 26DISKTYPEARG= -t ${DISKTYPE} 27.endif 28 29LISTS= ${.CURDIR}/list ${ARCHDIR}/list 30CRUNCHCONF= ${CBIN}.conf 31MTREECONF= ${.CURDIR}/mtree.conf 32ICMD= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -m ${NONBINMODE} 33 34CRUNCHGEN?= crunchgen 35MTREE?= mtree 36 37.if !defined(DESTDIR) || ${DESTDIR} == "" 38all: 39 @echo setenv DESTDIR before making a miniroot! 40 @false 41.else 42 43all: ${CBIN} 44 dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE} 45 vnconfig ${DISKTYPEARG} -v -c ${VND} ${IMAGE} ${VND_GEOM} 46 ${PRELABEL} 47 -newfs -m 0 -o space ${NEWFSOPTS} ${VND_RDEV} ${DISKTYPE} 48 ${BOOTINSTALL} 49 mount -o async ${VND_DEV} ${MOUNT_POINT} 50 ${MTREE} -def ${MTREECONF} -p ${MOUNT_POINT}/ -u 51 REV=${DISTRIBREV} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \ 52 TARGDIR=${MOUNT_POINT} VND_RDEV=${VND_RDEV} \ 53 KERNOBJDIR=${KERNOBJDIR} \ 54 sh ${.CURDIR}/runlist.sh ${LISTS} 55 @echo "" 56 @df -i ${MOUNT_POINT} 57 @echo "" 58 umount ${MOUNT_POINT} 59 vnconfig -u ${VND} 60 61unconfig: 62 -umount -f ${MOUNT_POINT} 63 -vnconfig -u ${VND_DEV} 64 -/bin/rm -f ${IMAGE} 65 66${CBIN}.conf: ${LISTS} 67 awk -f ${.CURDIR}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 68 69${CBIN}.mk: .EXEC 70${CBIN}.mk ${CBIN}.c: ${CRUNCHCONF} 71 ${CRUNCHGEN} -f -D ${.CURDIR}/../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} 72 73${CBIN}: ${CBIN}.mk ${CBIN}.c 74 ${MAKE} -f ${CBIN}.mk all 75 76.if !defined(RELEASEDIR) || ${RELEASEDIR} == "" 77release: 78 @echo setenv RELEASEDIR first 79 @false 80.else 81release: ${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 91clean 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