Home | History | Annotate | Line # | Download | only in ramdisk
Makefile revision 1.21
      1  1.21       pk #	$NetBSD: Makefile,v 1.21 2000/10/20 11:56:58 pk Exp $
      2  1.21       pk #
      3  1.21       pk # ramdisk.fs is the microroot filesystem intended for use with
      4  1.21       pk # the INSTALL kernel. It provides just enough tools to extract the
      5  1.21       pk # miniroot-based `instfs' filesystem into an MFS mount point
      6  1.21       pk # and start the installation scripts from there (see dot.profile).
      7  1.21       pk #
      8   1.1      mrg 
      9   1.1      mrg TOP=		${.CURDIR}/..
     10   1.6      mrg MINIROOT=	${.CURDIR}/../../miniroot
     11   1.1      mrg 
     12   1.1      mrg .include "${TOP}/Makefile.inc"
     13   1.1      mrg 
     14   1.1      mrg CBIN=		ramdiskbin
     15   1.1      mrg 
     16   1.1      mrg MOUNT_POINT?=	/mnt
     17   1.1      mrg # DEV/RDEV file system device, CDEV/RDEV vnconfig device
     18   1.1      mrg VND?=		vnd0
     19   1.1      mrg VND_DEV=	/dev/${VND}a
     20   1.1      mrg VND_RDEV=	/dev/r${VND}a
     21   1.1      mrg VND_CDEV=	/dev/${VND}c
     22   1.1      mrg VND_CRDEV=	/dev/r${VND}c
     23   1.1      mrg MDEC=		${DESTDIR}/usr/mdec
     24  1.15       pk IMAGE?=		ramdisk.fs
     25   1.1      mrg 
     26   1.1      mrg LISTS=		list
     27   1.1      mrg MTREE=		mtree.conf
     28   1.1      mrg 
     29  1.21       pk # image size in 512-byte blocks
     30  1.21       pk SIZE=		1360
     31  1.21       pk #DISKTYPE=	instfs
     32  1.21       pk GEOM=		512/1/${SIZE}/1
     33  1.21       pk INO_BYTES=	2048
     34   1.1      mrg 
     35  1.11      mrg all: ${CBIN}
     36  1.21       pk 	dd if=/dev/zero of=${IMAGE} bs=${SIZE}b count=1
     37  1.17      cjs 	#vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
     38  1.17      cjs 	vnconfig -v -c ${VND_CDEV} ${IMAGE} ${GEOM}
     39  1.17      cjs 	#disklabel -rw ${VND_CDEV} ${DISKTYPE}
     40  1.17      cjs 	#disklabel -W ${VND_CDEV}
     41  1.17      cjs 	newfs -B be -m 0 -o space -i ${INO_BYTES} ${VND_RDEV}
     42   1.1      mrg 	mount ${VND_DEV} ${MOUNT_POINT}
     43   1.1      mrg 	mtree -def ${.CURDIR}/${MTREE} -p ${MOUNT_POINT}/ -u
     44   1.6      mrg 	TOPDIR=${TOP} CURDIR=${MINIROOT} REALCURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
     45  1.18      sjg 	    KERNOBJDIR=${KERNOBJDIR} \
     46   1.6      mrg 	    TARGDIR=${MOUNT_POINT} sh ${MINIROOT}/runlist.sh ${.CURDIR}/${LISTS}
     47   1.1      mrg 	@echo ""
     48   1.1      mrg 	@df -i ${MOUNT_POINT}
     49   1.1      mrg 	@echo ""
     50   1.1      mrg 	umount ${MOUNT_POINT}
     51   1.1      mrg 	vnconfig -u ${VND_CDEV}
     52   1.1      mrg 
     53   1.1      mrg unconfig:
     54   1.1      mrg 	-umount -f ${MOUNT_POINT}
     55   1.1      mrg 	-vnconfig -u ${VND_DEV}
     56   1.1      mrg 	-/bin/rm -f ${IMAGE}
     57   1.1      mrg 
     58  1.11      mrg ${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
     59   1.2      mrg 	crunchgen -D ${TOP}/../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
     60   1.1      mrg 
     61  1.11      mrg ${CBIN}.conf: ${LISTS}
     62  1.13  mycroft 	awk -f ${MINIROOT}/makeconf.awk CBIN=${CBIN} ${.CURDIR}/${LISTS} > ${CBIN}.conf
     63  1.11      mrg 
     64   1.1      mrg ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
     65  1.21       pk 	make -f ${CBIN}.mk all
     66   1.6      mrg 
     67   1.6      mrg # This is listed in ramdiskbin.conf but is built here.
     68   1.6      mrg ${CBIN}: libhack.o
     69   1.6      mrg 
     70   1.6      mrg # Use stubs to eliminate some large stuff from libc
     71  1.11      mrg NOLIBHACKOPENDIR=1
     72   1.6      mrg HACKSRC=${TOP}/../utils/libhack
     73   1.6      mrg .include "${HACKSRC}/Makefile.inc"
     74   1.1      mrg 
     75   1.4    lukem clean cleandir distclean:
     76  1.14       pk 	/bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
     77  1.14       pk 	${CBIN}.conf *.o *.cro *.c
     78  1.12       pk 
     79  1.12       pk .ifndef RELEASEDIR
     80  1.12       pk release:
     81  1.12       pk 	@echo setenv RELEASEDIR first
     82  1.12       pk 	@false
     83  1.12       pk .else
     84  1.12       pk release: $(IMAGE)
     85  1.21       pk 	gzip -c -9 < $(.OBJDIR)/ramdisk.fs \
     86  1.21       pk 		> $(RELEASEDIR)/installation/bootfs/ramdisk.fs.gz
     87  1.12       pk .endif	# RELEASEDIR check
     88   1.1      mrg 
     89   1.1      mrg .include <bsd.obj.mk>
     90   1.1      mrg .include <bsd.subdir.mk>
     91