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