xref: /openbsd/distrib/sparc64/ramdiskB/Makefile (revision 7b572f1f)
1#	$OpenBSD: Makefile,v 1.33 2019/04/28 14:48:11 deraadt 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
15FLOPPY=		floppyB${REV}.fs
16FLOPPYSIZE?=	2880
17FLOPPYTYPE?=	floppy
18
19GZIPFLAGS?=	-9nv
20
21DISKTYPE=	rdroot
22MAKEFSARGS_RD=	-o disklabel=${DISKTYPE},minfree=0,density=8192
23
24.ifndef DESTDIR
25all ${IMAGE}:
26	@echo setenv DESTDIR before making a ramdisk!
27	@false
28.else
29
30# mix config is not needed.
31all:	${FLOPPY} ${BSD_RD}
32
33bsd.gz:	bsd.rd
34	gzip ${GZIPFLAGS} < bsd.rd > bsd.gz
35
36${FLOPPY}:	bsd.gz ${BOOT} /usr/
37	dd if=/dev/zero of=${FLOPPY} count=${FLOPPYSIZE}
38	vnconfig -v ${FLOPPY} > vnd
39	disklabel -w `cat vnd` ${FLOPPYTYPE}
40	newfs -m 0 -o space -i 524288 -c ${FLOPPYSIZE} /dev/r`cat vnd`a
41	mount /dev/`cat vnd`a ${MOUNT_POINT}
42	cp ${DESTDIR}/usr/mdec/ofwbootfd ${MOUNT_POINT}/ofwboot
43	cp bsd.gz ${MOUNT_POINT}/bsd
44	installboot -v `cat vnd` /usr/mdec/bootblk ${MOUNT_POINT}/ofwboot
45	@echo ""
46	@df -i ${MOUNT_POINT}
47	@echo ""
48	umount ${MOUNT_POINT}
49	vnconfig -u `cat vnd`
50	rm -f vnd
51
52${BSD_RD}: ${CBIN} ${IMAGE} bsd
53	cp bsd ${BSD_RD}
54	rdsetroot ${BSD_RD} ${IMAGE}
55	strip -R .SUNW_ctf ${BSD_RD}
56
57${IMAGE}: ${CBIN}
58	rm -rf $@.d
59	install -d -o root -g wheel $@.d
60	mtree -def ${MTREE} -p $@.d -u
61	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} REV=${REV} \
62	    TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
63	    sh ${UTILS}/runlist.sh ${LISTS}
64	rm $@.d/${CBIN}
65	makefs ${MAKEFSARGS_RD} $@ $@.d
66
67.endif
68
69bsd:
70	cd ${TOP}/../../sys/arch/sparc64/compile/RAMDISKU5 && \
71	    su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && ${MAKE}'
72	cp -p ${TOP}/../../sys/arch/sparc64/compile/RAMDISKU5/obj/bsd bsd
73
74unconfig:
75	-umount -f ${MOUNT_POINT}
76	-[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd
77
78${CBIN}.conf: ${LISTS}
79	awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf
80
81${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
82	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
83
84${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
85	${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all
86
87clean cleandir:
88	/bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
89	    lib*.a lib*.olist ${CBIN}.map \
90	    *.o *.lo *.c bsd ${BSD_RD} bsd.gz ${FLOPPY}
91	/bin/rm -rf ${IMAGE}.d
92
93.ifdef RELEASEDIR
94install:
95	cp ${FLOPPY} ${BSD.RD} ${RELEASEDIR}
96.endif
97
98.include <bsd.obj.mk>
99.include <bsd.subdir.mk>
100