Makefile revision 1.7
1#	$NetBSD: Makefile,v 1.7 2000/08/30 23:51:50 jhawk Exp $
2
3TOP=		${.CURDIR}/..
4
5# This include just sets REV=XX
6.include "${TOP}/Makefile.inc"
7
8IMAGE=		ramdisk-${REV}.fs
9CBIN=		rd_bin
10
11TREE=		mtree.conf
12LISTS=		list
13CRUNCHCONF=	${CBIN}.conf
14
15KERNEL=		${KERNOBJDIR}/RAMDISK/netbsd
16
17MOUNT_POINT?=   /mnt
18# DEV/RDEV file system device, CDEV/RDEV vnconfig device
19VND?=           vnd0
20VND_CDEV=       /dev/${VND}c
21VND_CRDEV=      /dev/r${VND}c
22
23# These are all the parameters for the root fs: (384K)
24# NOTE: If you change NBLKS, you *must* also edit the
25#       rdroot entry in /etc/disktab
26DISKTYPE=	rdroot
27NBLKS=		768
28
29CLEANFILES=	netbsd-rd ${IMAGE}
30
31netbsd-rd:	${IMAGE}
32	cp ${KERNEL} netbsd-tmp
33	mdsetimage netbsd-tmp ${IMAGE}
34	-mv -f netbsd-tmp $@
35
36${IMAGE}:	${TREE} ${LISTS} ${CBIN}
37	dd if=/dev/zero of=${IMAGE} count=${NBLKS}
38	vnconfig -t ${DISKTYPE} -v -c ${VND_CDEV} ${IMAGE}
39	newfs -B be -m 0 -o space -i 2048 ${VND_CRDEV} ${DISKTYPE}
40	mount ${VND_CDEV} ${MOUNT_POINT}
41	mtree -def ${.CURDIR}/${TREE} -p ${MOUNT_POINT}/ -u
42	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
43	    KERNOBJDIR=${KERNOBJDIR} \
44	    TARGDIR=${MOUNT_POINT} sh ${.CURDIR}/runlist.sh ${.CURDIR}/${LISTS}
45	@echo ""
46	@df -i ${MOUNT_POINT}
47	@echo ""
48	umount ${MOUNT_POINT}
49	vnconfig -u ${VND_CDEV}
50
51unconfig:
52	-umount -f ${MOUNT_POINT}     
53	-vnconfig -u ${VND_CDEV}      
54	-/bin/rm -f ${IMAGE}
55
56# Do not delete this if I change my mind and kill make...
57.PRECIOUS: ${IMAGE}
58
59CLEANFILES+= ${CBIN} ${CBIN}.c ${CBIN}.cache ${CBIN}.mk ${CBIN}.syms
60CLEANFILES+= *.cro *_stub.o *_stub.c
61
62${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
63	crunchgen -D ${BSDSRCDIR} -L ${DESTDIR}/usr/lib ${CRUNCHCONF}
64
65${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
66	${MAKE} -f ${CBIN}.mk all
67
68# This is listed in rd_bin.conf but is built here.
69${CBIN} : libhack.o
70
71# Use stubs to eliminate some large stuff from libc
72HACKSRC=${TOP}/../utils/libhack
73.include "${HACKSRC}/Makefile.inc"
74
75clean cleandir distclean:
76	-rm -f a.out core *.core *.o
77	-rm -f ${CLEANFILES}
78
79# Standard rules needed by the above...
80.include <bsd.kernobj.mk>
81.include <bsd.obj.mk>
82