Makefile revision 1.35
1226586Sdim#	$OpenBSD: Makefile,v 1.35 2017/09/18 20:13:53 jasper Exp $
2226586Sdim
3226586SdimTOP=		${.CURDIR}/..
4226586Sdim
5226586Sdim.include "${TOP}/Makefile.inc"
6226586SdimBSD_RD=		bsd.rd
7226586SdimIMAGE=		mr.fs
8226586SdimCBIN?=		instbin
9226586SdimLISTS=		${.CURDIR}/list
10226586SdimUTILS?=		${.CURDIR}/../../miniroot
11226586Sdim
12226586SdimMOUNT_POINT=	/mnt
13226586SdimMTREE=		${UTILS}/mtree.conf
14239462Sdim
15226586SdimFLOPPY=		floppy${REV}.fs
16226586SdimFLOPPYSIZE?=	2880
17226586SdimFLOPPYTYPE?=	floppy
18226586Sdim
19226586SdimVND?=		vnd0
20226586SdimVND_DEV=	/dev/${VND}a
21226586SdimVND_RDEV=	/dev/r${VND}a
22226586Sdim
23239462SdimGZIPFLAGS?=	-9nv
24226586SdimGZIPEXT?=	.gz
25226586Sdim
26226586SdimPID!=		echo $$$$
27226586SdimREALIMAGE!=	echo /var/tmp/image.${PID}
28226586SdimKERNEL?=	RAMDISKU1
29226586Sdim
30226586SdimDISKTYPE=	rdroot
31226586SdimMAKEFSARGS_RD=	-o disklabel=${DISKTYPE},minfree=0,density=4096
32249423Sdim
33226586Sdim.ifndef DESTDIR
34234353Sdimall ${IMAGE}:
35234353Sdim	@echo setenv DESTDIR before making a ramdisk!
36234353Sdim	@false
37249423Sdim.else
38226586Sdim
39226586Sdim# mix config is not needed.
40226586Sdimall:	${FLOPPY} ${BSD_RD}
41239462Sdim
42226586Sdimbsd.gz:	bsd.rd
43226586Sdim	gzip ${GZIPFLAGS} < bsd.rd > bsd.gz
44226586Sdim
45243830Sdim${FLOPPY}:	bsd.gz ${BOOT} /usr/
46243830Sdim	dd if=/dev/zero of=${REALIMAGE} count=${FLOPPYSIZE}
47249423Sdim	vnconfig -v -c ${VND} ${REALIMAGE}
48243830Sdim	disklabel -w ${VND} ${FLOPPYTYPE}
49249423Sdim	newfs -m 0 -o space -i 524288 -c ${FLOPPYSIZE} ${VND_RDEV}
50226586Sdim	mount ${VND_DEV} ${MOUNT_POINT}
51226586Sdim	cp ${DESTDIR}/usr/mdec/ofwbootfd ${MOUNT_POINT}/ofwboot
52226586Sdim	cp bsd.gz ${MOUNT_POINT}/bsd
53226586Sdim	installboot -v ${VND} /usr/mdec/bootblk ${MOUNT_POINT}/ofwboot
54226586Sdim	@echo ""
55226586Sdim	@df -i ${MOUNT_POINT}
56226586Sdim	@echo ""
57226586Sdim	umount ${MOUNT_POINT}
58226586Sdim	vnconfig -u ${VND}
59226586Sdim	dd if=${REALIMAGE} of=${FLOPPY} count=${FLOPPYSIZE}
60226586Sdim	rm -f ${REALIMAGE}
61226586Sdim
62226586Sdim${BSD_RD}: ${CBIN} ${IMAGE} bsd elfrdsetroot
63226586Sdim	cp bsd ${BSD_RD}
64226586Sdim	${.OBJDIR}/elfrdsetroot ${BSD_RD} < ${IMAGE}
65226586Sdim	strip -R .SUNW_ctf ${BSD_RD}
66226586Sdim
67226586Sdim${IMAGE}: ${CBIN}
68226586Sdim	rm -rf $@.d
69226586Sdim	install -d -o root -g wheel $@.d
70226586Sdim	mtree -def ${MTREE} -p $@.d -u
71226586Sdim	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} REV=${REV} \
72226586Sdim	    TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
73226586Sdim	    sh ${UTILS}/runlist.sh ${LISTS}
74226586Sdim	rm $@.d/${CBIN}
75226586Sdim	makefs ${MAKEFSARGS_RD} $@ $@.d
76249423Sdim
77249423Sdim.endif
78249423Sdim
79226586Sdimbsd:
80226586Sdim	cd ${TOP}/../../sys/arch/sparc64/compile/${KERNEL} && \
81226586Sdim	    su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && env COPTS=-Oz ${MAKE}'
82234353Sdim	cp -p ${TOP}/../../sys/arch/sparc64/compile/${KERNEL}/obj/bsd bsd
83234353Sdim
84234353Sdimelfrdsetroot:	${TOP}/../common/elfrdsetroot.c
85234353Sdim	${HOSTCC} ${HOSTCFLAGS} -o elfrdsetroot \
86234353Sdim	    ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \
87234353Sdim	    ${TOP}/../common/elf64.c
88234353Sdim
89234353Sdimunconfig:
90234353Sdim	-umount -f ${MOUNT_POINT}
91249423Sdim	-vnconfig -u ${VND}
92249423Sdim
93226586Sdim${CBIN}.conf: ${LISTS}
94226586Sdim	awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf
95226586Sdim
96226586Sdim${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf
97226586Sdim	crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
98226586Sdim
99226586Sdim${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
100239462Sdim	${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all
101239462Sdim
102226586Sdimclean cleandir:
103226586Sdim	/bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
104226586Sdim	    lib*.a lib*.olist ${CBIN}.map \
105226586Sdim	    *.o *.lo *.c bsd ${BSD_RD} bsd.gz ${FLOPPY} elfrdsetroot
106226586Sdim	/bin/rm -rf ${IMAGE}.d
107226586Sdim
108243830Sdim.ifdef RELEASEDIR
109243830Sdiminstall:
110243830Sdim	cp ${FLOPPY} ${BSD.RD} ${RELEASEDIR}
111243830Sdim.endif
112243830Sdim
113243830Sdim.include <bsd.obj.mk>
114243830Sdim.include <bsd.subdir.mk>
115243830Sdim