1# $OpenBSD: Makefile,v 1.25 2011/04/18 16:52:10 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 15FLOPPY= floppy${REV}.fs 16FLOPPYSIZE?= 2880 17FLOPPYTYPE?= floppy 18INSTALLBOOT?= /usr/mdec/installboot 19 20VND?= vnd0 21VND_DEV= /dev/${VND}a 22VND_RDEV= /dev/r${VND}a 23VND_CRDEV= /dev/r${VND}c 24PID!= echo $$$$ 25 26GZIPCMD?= gzip 27GZIPFLAGS?= -9nv 28GZIPEXT?= .gz 29 30MOUNT_POINT?= /mnt 31DISKTYPE= rdroot 32PID!= echo $$$$ 33REALIMAGE!= echo /var/tmp/image.${PID} 34IMAGE?= ramdisk${REV}.fs 35IMAGESIZE?= 8192 # 4MB in 512 byte blocks 36NEWFS_WILL_FAIL?=false 37CRUNCHGENOPTS?= 38KERNEL?= RAMDISKU1 39UTILS?= ${.CURDIR}/../miniroot 40STRIP?= strip 41 42DISKTYPE= rdroot 43NBLKS= 6144 44# minfree, opt, b/i trks, sects, cpg 45NEWFSARGS= -m 0 -o space -i 4096 46 47.ifndef DESTDIR 48all ${IMAGE}: 49 @echo setenv DESTDIR before making a ramdisk! 50 @false 51.else 52 53# mix config is not needed. 54all: ${FLOPPY} ${BSD_RD} 55 56bsd.gz: bsd.rd 57 ${GZIPCMD} ${GZIPFLAGS} < bsd.rd > bsd.gz 58 59${FLOPPY}: bsd.gz ${BOOT} /usr/ 60 dd if=/dev/zero of=${REALIMAGE} count=${FLOPPYSIZE} 61 vnconfig -v -c ${VND} ${REALIMAGE} 62 disklabel -w ${VND} ${FLOPPYTYPE} 63 newfs -m 0 -o space -i 524288 -c ${FLOPPYSIZE} ${VND_RDEV} 64 mount ${VND_DEV} ${MOUNT_POINT} 65 cp ${DESTDIR}/usr/mdec/ofwboot ${MOUNT_POINT}/ 66 cp bsd.gz ${MOUNT_POINT}/bsd 67 ${INSTALLBOOT} -v ${DESTDIR}/usr/mdec/bootblk \ 68 `echo ${VND_RDEV} | sed -e 's/a$$/c/'` 69 @echo "" 70 @df -i ${MOUNT_POINT} 71 @echo "" 72 umount ${MOUNT_POINT} 73 vnconfig -u ${VND} 74 dd if=${REALIMAGE} of=${FLOPPY} count=${FLOPPYSIZE} 75 rm -f ${REALIMAGE} 76 77${BSD_RD}: ${CBIN} ${IMAGE} bsd elfrdsetroot 78 cp bsd ${BSD_RD} 79 ${.OBJDIR}/elfrdsetroot ${BSD_RD} < ${IMAGE} 80 81${IMAGE}: rd_setup do_files rd_teardown 82 83.endif 84 85bsd: 86 cd ${TOP}/../../sys/arch/sparc64/conf && config ${KERNEL} 87 cd ${TOP}/../../sys/arch/sparc64/compile/${KERNEL} && \ 88 ${MAKE} clean && COPTS=-Os exec ${MAKE} 89 cp ${TOP}/../../sys/arch/sparc64/compile/${KERNEL}/bsd bsd 90 91rd_setup: 92 dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} 93 vnconfig -v -c ${VND} ${IMAGE} 94 disklabel -w ${VND} ${DISKTYPE} 95 newfs ${NEWFSARGS} ${VND_RDEV} 96 fsck ${VND_RDEV} 97 mount ${VND_DEV} ${MOUNT_POINT} 98 99rd_teardown: 100 @df -i ${MOUNT_POINT} 101 -umount ${MOUNT_POINT} 102 -vnconfig -u ${VND} 103 104elfrdsetroot: ${TOP}/../common/elfrdsetroot.c 105 ${HOSTCC} -o elfrdsetroot ${TOP}/../common/elfrdsetroot.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 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 *.o *.lo *.c bsd ${BSD_RD} bsd.gz ${FLOPPY} elfrdsetroot 132 133.ifdef RELEASEDIR 134install: 135 cp ${FLOPPY} ${BSD.RD} ${RELEASEDIR} 136.endif 137 138.include <bsd.obj.mk> 139.include <bsd.subdir.mk> 140