xref: /openbsd/distrib/luna88k/ramdisk/Makefile (revision cca36db2)
1#	$OpenBSD: Makefile,v 1.12 2011/04/18 16:52:09 thib 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=		${UTILS}/mtree.conf
14
15VND?=		vnd0
16VND_DEV=	/dev/${VND}a
17VND_RDEV=	/dev/r${VND}a
18VND_CRDEV=	/dev/r${VND}c
19PID!=		echo $$$$
20
21
22DISKTYPE=       rdroot
23NBLKS=          4096
24# minfree, opt, b/i  trks, sects, cpg
25NEWFSARGS= -t ffs -m 0 -o space
26
27all:	${BSD_RD}
28
29${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot
30	cp bsd ${BSD_RD}
31	${.OBJDIR}/rdsetroot ${BSD_RD} ${IMAGE}
32
33${IMAGE}: rd_setup do_files rd_teardown
34
35bsd:
36.ifndef(NOBUILD)
37	cd ${.CURDIR}/../../../sys/arch/luna88k/conf && config RAMDISK
38	cd ${.CURDIR}/../../../sys/arch/luna88k/compile/RAMDISK && \
39	    ${MAKE} clean && exec ${MAKE}
40.endif
41	cp ${.CURDIR}/../../../sys/arch/luna88k/compile/RAMDISK/bsd bsd
42
43rd_test: rd_setup rd_teardown
44
45rd_setup:
46	dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS}
47	vnconfig -v -c ${VND} ${IMAGE}
48	disklabel -w ${VND} ${DISKTYPE}
49	newfs ${NEWFSARGS} ${VND_RDEV}
50	fsck ${VND_RDEV}
51	mount ${VND_DEV} ${MOUNT_POINT}
52
53rd_teardown:
54	@df -i ${MOUNT_POINT}
55	-umount ${MOUNT_POINT}
56	-vnconfig -u ${VND}
57
58rdsetroot:	${TOP}/../common/rdsetroot.c
59	${HOSTCC} -o rdsetroot ${TOP}/../common/rdsetroot.c
60
61unconfig:
62	-umount -f ${MOUNT_POINT}
63	-vnconfig -u ${VND}
64
65.PRECIOUS:      ${IMAGE}
66
67.ifdef RELEASEDIR
68install:
69	cp ${BSD_RD} ${RELEASEDIR}
70.endif
71
72${CBIN}.conf: ${LISTS}
73	awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf
74
75${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
76	crunchgen -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${CBIN}.conf
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} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \
85	    RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS}
86	rm ${MOUNT_POINT}/${CBIN}
87
88clean cleandir:
89	/bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.conf ${CBIN}.mk ${CBIN}.cache \
90	    *.o *.lo *.c bsd ${BSD_RD} rdsetroot
91
92.include <bsd.obj.mk>
93.include <bsd.subdir.mk>
94