Makefile revision 1.48
1# $NetBSD: Makefile,v 1.48 2002/02/12 11:17:47 is 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 14HOST_RAWPART!= sysctl -n kern.rawpartition | tr '0-9a-f' 'a-p' 15VND?= vnd0 16VND_DEV= /dev/${VND}${HOST_RAWPART} 17VND_RDEV= /dev/r${VND}${HOST_RAWPART} 18VND_GEOM?= 19IMAGE?= miniroot.fs 20IMAGESIZE?= 14336 # 7MB in 512 byte blocks 21NEWFSOPTS?= 22MOUNT_POINT?= /mnt 23BOOTINSTALL?= true 24PRELABEL?= true 25 26.ifdef DISKTYPE 27DISKTYPEARG= -t ${DISKTYPE} 28.endif 29 30LISTS= ${.CURDIR}/list ${ARCHDIR}/list 31CRUNCHCONF= ${CBIN}.conf 32MTREECONF= ${.CURDIR}/mtree.conf 33ICMD= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -m ${NONBINMODE} 34 35CRUNCHGEN?= crunchgen 36MTREE?= mtree 37 38.if !defined(DESTDIR) || ${DESTDIR} == "" 39all: 40 @echo setenv DESTDIR before making a miniroot! 41 @false 42.else 43 44all: ${CBIN} 45 dd if=/dev/zero of=${IMAGE} count=${IMAGESIZE} 46 vnconfig ${DISKTYPEARG} -v -c ${VND} ${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 ${MTREECONF} -p ${MOUNT_POINT}/ -u 52 REV=${DISTRIBREV} 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} 61 62unconfig: 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: .EXEC 71${CBIN}.mk ${CBIN}.c: ${CRUNCHCONF} 72 ${CRUNCHGEN} -f -D ${.CURDIR}/../.. -L ${DESTDIR}/usr/lib ${CRUNCHCONF} 73 74${CBIN}: ${CBIN}.mk ${CBIN}.c 75 ${MAKE} -f ${CBIN}.mk all 76 77.if !defined(RELEASEDIR) || ${RELEASEDIR} == "" 78release: 79 @echo setenv RELEASEDIR first 80 @false 81.else 82release: ${IMAGE} 83 mkdir -p ${RELEASEDIR}/installation/miniroot 84 gzip -c -9 < ${.OBJDIR}/miniroot.fs \ 85 > ${RELEASEDIR}/installation/miniroot/miniroot.fs.gz 86 ${.CURDIR}/../sets/makesums \ 87 -t ${RELEASEDIR}/installation/miniroot miniroot.fs.gz 88 89.endif # RELEASEDIR check 90.endif # DESTDIR check 91 92clean cleandir distclean: 93 /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 94 ${CBIN}.conf *.o *.cro *.c 95 96.include <bsd.obj.mk> 97.include <bsd.subdir.mk> 98