Makefile revision 1.8
1# $NetBSD: Makefile,v 1.8 2002/02/09 13:56:51 lukem Exp $ 2 3TOP?= ${.CURDIR}/.. 4ARCHDIR?= ${.CURDIR}/../miniroot 5 6.include "${TOP}/Makefile.inc" 7 8NETBOOTDIR= ${RELEASEDIR}/installation/netboot 9 10IMAGE= ramdisk.fs 11DISKIMAGE= diskimage.tgz 12 13CBIN= ramdiskbin 14CSIZE= 6144 # 512 byte blocks, update disktab.ramdisk if changed 15DISKTAB= ${.CURDIR}/disktab.ramdisk 16DISKTYPE= install-ramdisk 17MOUNT_POINT?= /mnt 18 19VND?= vnd0 20VND_DEV= /dev/${VND}c 21VND_RDEV= /dev/r${VND}c 22 23CLEANFILES= ${IMAGE} ${DISKIMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache 24 25LISTS= ${.CURDIR}/list 26CRUNCHCONF= ${.CURDIR}/${CBIN}.conf 27MTREECONF= ${.CURDIR}/mtree.conf 28 29MTREE?= mtree 30CRUNCHGEN?= crunchgen 31 32realall: ${IMAGE} 33 34${IMAGE}: ${CBIN} 35 dd if=/dev/zero of=${IMAGE} count=${CSIZE} 36 vnconfig -v -c ${VND} ${IMAGE} 37 disklabel -rw -f ${DISKTAB} ${VND} ${DISKTYPE} 38 newfs -B be -m 0 -o space -i 5120 ${VND_RDEV} 39 mount ${VND_DEV} ${MOUNT_POINT} 40 ${MTREE} -def ${MTREECONF} -p ${MOUNT_POINT}/ -u 41 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} ARCHDIR=${ARCHDIR} \ 42 KERNOBJDIR=${KERNOBJDIR} \ 43 TARGDIR=${MOUNT_POINT} sh ${TOP}/runlist.sh ${LISTS} 44 @echo "" 45 @df -i ${MOUNT_POINT} 46 @echo "" 47 @echo Building diskimage tar file... 48 tar cf - -C ${MOUNT_POINT} . | gzip -9 > ${DISKIMAGE} 49 @echo "" 50 umount ${MOUNT_POINT} 51 vnconfig -u ${VND} 52 53unconfig: 54 -umount -f ${MOUNT_POINT} 55 -vnconfig -u ${VND} 56 -/bin/rm -f ${IMAGE} 57 58${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 59 ${CRUNCHGEN} -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 60 61${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 62 ${MAKE} -f ${CBIN}.mk all 63 64echoimage: 65 @echo ${.OBJDIR}/${IMAGE} 66 67.if !defined(RELEASEDIR) 68release: .USE 69 @echo setenv RELEASEDIR first! 70 @false 71.else 72release: ${DISKIMAGE} 73 -mkdir -p ${NETBOOTDIR} 74 ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -m ${NONBINMODE} \ 75 ${DISKIMAGE} ${NETBOOTDIR} 76.endif # !defined(RELEASEDIR) 77 78realinstall: release 79 80clean cleandir distclean: 81 /bin/rm -f *.core ${CLEANFILES} *.o *.cro *.c 82 83.include <bsd.own.mk> 84.include <bsd.obj.mk> 85