1# $OpenBSD: Makefile,v 1.22 2014/11/22 15:02:28 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 19VND?= vnd0 20VND_DEV= /dev/${VND}a 21VND_RDEV= /dev/r${VND}a 22VND_CRDEV= /dev/r${VND}c 23PID!= echo $$$$ 24 25GZIPCMD?= gzip 26GZIPFLAGS?= -9nv 27GZIPEXT?= .gz 28 29MOUNT_POINT?= /mnt 30DISKTYPE= rdroot 31PID!= echo $$$$ 32REALIMAGE!= echo /var/tmp/image.${PID} 33IMAGE?= ramdisk${REV}.fs 34IMAGESIZE?= 8192 # 4MB in 512 byte blocks 35NEWFS_WILL_FAIL?=false 36CRUNCHGENOPTS?= 37KERNEL?= RAMDISKU5 38UTILS?= ${.CURDIR}/../miniroot 39STRIP?= strip 40 41DISKTYPE= rdroot 42NBLKS= 6144 43# minfree, opt, b/i trks, sects, cpg 44NEWFSARGS= -m 0 -o space -i 8192 45 46.ifndef DESTDIR 47all ${IMAGE}: 48 @echo setenv DESTDIR before making a ramdisk! 49 @false 50.else 51 52# mix config is not needed. 53all: ${FLOPPY} ${BSD_RD} 54 55bsd.gz: bsd.rd 56 ${GZIPCMD} ${GZIPFLAGS} < bsd.rd > bsd.gz 57 58${FLOPPY}: bsd.gz ${BOOT} /usr/ 59 dd if=/dev/zero of=${REALIMAGE} count=${FLOPPYSIZE} 60 vnconfig -v -c ${VND} ${REALIMAGE} 61 disklabel -w ${VND} ${FLOPPYTYPE} 62 newfs -m 0 -o space -i 524288 -c ${FLOPPYSIZE} ${VND_RDEV} 63 mount ${VND_DEV} ${MOUNT_POINT} 64 cp ${DESTDIR}/usr/mdec/ofwboot ${MOUNT_POINT}/ 65 cp bsd.gz ${MOUNT_POINT}/bsd 66 installboot -v ${VND} 67 @echo "" 68 @df -i ${MOUNT_POINT} 69 @echo "" 70 umount ${MOUNT_POINT} 71 vnconfig -u ${VND} 72 dd if=${REALIMAGE} of=${FLOPPY} count=${FLOPPYSIZE} 73 rm -f ${REALIMAGE} 74 75${BSD_RD}: ${CBIN} ${IMAGE} bsd elfrdsetroot 76 cp bsd ${BSD_RD} 77 ${.OBJDIR}/elfrdsetroot ${BSD_RD} < ${IMAGE} 78 79${IMAGE}: rd_setup do_files rd_teardown 80 81.endif 82 83bsd: 84 cd ${TOP}/../../sys/arch/sparc64/conf && config ${KERNEL} 85 cd ${TOP}/../../sys/arch/sparc64/compile/${KERNEL} && \ 86 ${MAKE} clean && COPTS=-Os exec ${MAKE} 87 cp ${TOP}/../../sys/arch/sparc64/compile/${KERNEL}/bsd bsd 88 89rd_setup: 90 dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} 91 vnconfig -v -c ${VND} ${IMAGE} 92 disklabel -w ${VND} ${DISKTYPE} 93 newfs ${NEWFSARGS} ${VND_RDEV} 94 fsck ${VND_RDEV} 95 mount ${VND_DEV} ${MOUNT_POINT} 96 97rd_teardown: 98 @df -i ${MOUNT_POINT} 99 -umount ${MOUNT_POINT} 100 -vnconfig -u ${VND} 101 102elfrdsetroot: ${TOP}/../common/elfrdsetroot.c 103 ${HOSTCC} ${HOSTCFLAGS} -o elfrdsetroot \ 104 ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \ 105 ${TOP}/../common/elf64.c 106 107unconfig: 108 -umount -f ${MOUNT_POINT} 109 -vnconfig -u ${VND} 110 111.PRECIOUS: ${IMAGE} 112 113${CBIN}.conf: ${LISTS} 114 awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 115 116${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CBIN}.conf 117 crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 118 119${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 120 ${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all 121 122do_files: 123 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 124 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} REV=${REV} \ 125 ARCHDIR=${.CURDIR}/.. TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ 126 RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS} 127 rm ${MOUNT_POINT}/${CBIN} 128 129clean cleandir: 130 /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 131 lib*.a lib*.olist ${CBIN}.map \ 132 *.o *.lo *.c bsd ${BSD_RD} bsd.gz ${FLOPPY} elfrdsetroot 133 134.ifdef RELEASEDIR 135install: 136 cp ${FLOPPY} ${BSD.RD} ${RELEASEDIR} 137.endif 138 139.include <bsd.obj.mk> 140.include <bsd.subdir.mk> 141