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