Home | History | Annotate | Line # | Download | only in miniroot
Makefile revision 1.27
      1 #	$NetBSD: Makefile,v 1.27 2000/04/16 19:17:18 matt Exp $
      2 
      3 .include <bsd.own.mk>
      4 
      5 REV!=sh ${.CURDIR}/../../sys/conf/osrelease.sh -s
      6 
      7 CBIN=		instbin
      8 ARCHDIR=	${.CURDIR}/../${MACHINE}/miniroot
      9 
     10 .if exists(${ARCHDIR}/Makefile.inc)
     11 .include "${ARCHDIR}/Makefile.inc"
     12 .endif
     13 
     14 VND?=		vnd0c
     15 VND_DEV=	/dev/${VND}
     16 VND_RDEV=	/dev/r${VND}
     17 VND_GEOM?=
     18 IMAGE?=		miniroot.fs
     19 IMAGESIZE?=	14336 # 7MB in 512 byte blocks
     20 NEWFSOPTS?=
     21 MOUNT_POINT?=	/mnt
     22 BOOTINSTALL?=	true
     23 PRELABEL?=	true
     24 
     25 .ifdef DISKTYPE
     26 DISKTYPEARG=	-t ${DISKTYPE}
     27 .endif
     28 
     29 LISTS=		${.CURDIR}/list ${ARCHDIR}/list
     30 CRUNCHCONF=	${CBIN}.conf
     31 MTREE=		${.CURDIR}/mtree.conf
     32 ICMD=		${INSTALL} ${RENAME} ${PRESERVE} ${COPY}	\
     33 			-o root -g wheel -m ${NONBINMODE} 
     34 
     35 .ifndef DESTDIR
     36 all:
     37 	@echo setenv DESTDIR before making a miniroot!
     38 	@false
     39 .else
     40 
     41 all: ${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 
     58 unconfig:
     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
     73 release:
     74 	@echo setenv RELEASEDIR first
     75 	@false
     76 .else
     77 release: $(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 
     86 clean 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