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