xref: /openbsd/distrib/luna88k/ramdisk/Makefile (revision 09467b48)
1#	$OpenBSD: Makefile,v 1.30 2020/05/18 06:20:43 otto Exp $
2
3FS=		miniroot${OSrev}.img
4FSSIZE=		8192
5FSDISKTYPE=	miniroot
6MOUNT_POINT=	/mnt
7MTREE=		${UTILS}/mtree.conf
8RAMDISK=	RAMDISK
9
10LISTS=		${.CURDIR}/list
11UTILS=		${.CURDIR}/../../miniroot
12
13MRDISKTYPE=	rdroot
14MRMAKEFSARGS=	-o disklabel=${MRDISKTYPE},minfree=0
15
16LDSTATIC=-static
17
18all: ${FS}
19
20${FS}: bsd.rd
21	dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE}
22	vnconfig -v ${FS} > vnd
23	disklabel -w `cat vnd` ${FSDISKTYPE}
24	newfs -O 1 -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a
25	mount /dev/`cat vnd`a ${MOUNT_POINT}
26	install -c -m 555 -o root -g wheel \
27	    ${DESTDIR}/usr/mdec/boot ${MOUNT_POINT}/boot
28	ln ${MOUNT_POINT}/boot ${MOUNT_POINT}/vmunix
29	install -c -m 555 -o root -g wheel bsd.rd ${MOUNT_POINT}/bsd
30	df -i ${MOUNT_POINT}
31	umount ${MOUNT_POINT}
32	vnconfig -u `cat vnd`
33	rm -f vnd
34
35bsd.rd: mr.fs bsd
36	cp bsd bsd.rd
37	rdsetroot bsd.rd mr.fs
38
39bsd:
40	cd ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK} && \
41	    su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}'
42	cp -p ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK}/obj/bsd bsd
43
44mr.fs: instbin
45	rm -rf $@.d
46	install -d -o root -g wheel $@.d
47	mtree -def ${MTREE} -p $@.d -u
48	CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \
49	    TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
50	    sh ${UTILS}/runlist.sh ${LISTS}
51	rm $@.d/instbin
52	makefs ${MRMAKEFSARGS} $@ $@.d
53
54instbin.mk instbin.cache instbin.c: instbin.conf
55	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \
56	    -c instbin.c -e instbin -m instbin.mk instbin.conf
57
58instbin: instbin.mk instbin.cache instbin.c
59	${MAKE} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all
60
61instbin.conf: ${LISTS}
62	awk -f ${UTILS}/makeconf.awk  ${LISTS} > instbin.conf
63
64unconfig:
65	-umount -f ${MOUNT_POINT}
66	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
67
68.ifdef RELEASEDIR
69install:
70	cp bsd.rd ${RELEASEDIR}/bsd.rd
71	chmod a+r ${RELEASEDIR}/bsd.rd
72	cp ${FS} ${RELEASEDIR}
73.endif
74
75clean cleandir:
76	rm -f *.core mr.fs instbin instbin.conf instbin.mk instbin.cache \
77	    lib*.a lib*.olist instbin.map *.o *.lo *.c bsd bsd.rd
78	rm -rf mr.fs.d
79
80.include <bsd.obj.mk>
81