Makefile revision 1.4
1#	$OpenBSD: Makefile,v 1.4 2001/09/20 01:19:32 jason Exp $
2
3TOP=		${.CURDIR}/..
4
5.include "${TOP}/Makefile.inc"
6BSD_RD=		bsd.rd
7IMAGE=		mr.fs
8CBIN?=		instbin
9LISTS=		${.CURDIR}/list
10UTILS?=		${.CURDIR}/../../miniroot
11
12MOUNT_POINT=	/mnt
13MTREE=		${.CURDIR}/mtree.conf
14
15VND?=		svnd0
16VND_DEV=	/dev/${VND}a
17VND_RDEV=	/dev/r${VND}a
18VND_CRDEV=	/dev/r${VND}c
19PID!=		echo $$$$
20
21
22DISKTYPE=       rdroot
23NBLKS=          8192
24# minfree, opt, b/i  trks, sects, cpg
25NEWFSARGS= -m 0 -o space -c 16 -i 4096
26
27.ifndef DESTDIR
28all ${IMAGE}:
29	@echo setenv DESTDIR before making a ramdisk!
30	@false
31.else
32
33# mix config is not needed.
34all:	${BSD_RD}
35
36${BSD_RD}: ${CBIN} ${IMAGE} bsd elfrdsetroot
37	cp bsd ${BSD_RD}
38	${.OBJDIR}/elfrdsetroot ${BSD_RD} < ${IMAGE}
39
40${IMAGE}: rd_setup do_files rd_teardown
41
42.endif
43
44bsd:
45	cd ${TOP}/../../sys/arch/sparc64/conf && config RAMDISK
46	cd ${TOP}/../../sys/arch/sparc64/compile/RAMDISK && \
47	    make clean && make depend && make
48	cp ${TOP}/../../sys/arch/sparc64/compile/RAMDISK/bsd bsd
49
50rd_setup: 
51	dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS}
52	vnconfig -v -c ${VND} ${IMAGE}
53	disklabel -w -r ${VND} ${DISKTYPE}
54	newfs ${NEWFSARGS} ${VND_RDEV}
55	fsck ${VND_RDEV}
56	mount ${VND_DEV} ${MOUNT_POINT}
57
58rd_teardown:
59	@df -i ${MOUNT_POINT}
60	-umount ${MOUNT_POINT}
61	-vnconfig -u ${VND}
62
63elfrdsetroot:	${TOP}/../common/elfrdsetroot.c
64	${HOSTCC} -DDEBUG -o elfrdsetroot ${TOP}/../common/elfrdsetroot.c
65
66unconfig:
67	-umount -f ${MOUNT_POINT}
68	-vnconfig -u ${VND}
69
70.PRECIOUS:	${IMAGE}
71
72install:
73	cp ${BSD_RD} ${DESTDIR}/snapshot/
74
75${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
76	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
77
78${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
79	make -f ${CBIN}.mk all
80
81do_files:
82	mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
83	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
84	    REV=${REV} ARCHDIR=${.CURDIR}/.. TARGDIR=${MOUNT_POINT} \
85	    sh ${TOP}/runlist.sh ${LISTS}
86
87clean cleandir:
88	/bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
89	*.o *.lo *.c bsd ${BSD_RD} \
90	elfrdsetroot
91
92beforeinstall:
93	cp ${BSD.RD} ${DESTDIR}/snapshot
94
95.include <bsd.obj.mk>
96.include <bsd.subdir.mk>
97