1# $OpenBSD: Makefile,v 1.30 2013/10/15 22:46:51 deraadt Exp $ 2 3REV= ${OSrev} 4 5TOP= ${.CURDIR}/.. 6 7BSD_RD= bsd.rd 8IMAGE= mr.fs 9CBIN?= instbin 10CRUNCHCONF?= ${CBIN}.conf 11CRUNCHCONFS?= ${.CURDIR}/../common/crunch.conf 12LISTS= ${.CURDIR}/list 13UTILS?= ${.CURDIR}/../../miniroot 14 15MOUNT_POINT= /mnt 16MTREE= ${UTILS}/mtree.conf 17 18VND?= vnd0 19VND_DEV= /dev/${VND}a 20VND_RDEV= /dev/r${VND}a 21VND_CRDEV= /dev/r${VND}c 22PID!= echo $$$$ 23 24 25DISKTYPE= rdroot 26NBLKS= 8192 27# minfree, opt, b/i trks, sects, cpg 28NEWFSARGS= -m 0 -o space -i 4096 29 30.ifndef DESTDIR 31all ${IMAGE}: 32 @echo setenv DESTDIR before making a ramdisk! 33 @false 34.else 35 36# mix config is not needed. 37all: ${BSD_RD} cd 38 39${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot 40 cp bsd ${BSD_RD} 41 ${.OBJDIR}/rdsetroot ${BSD_RD} ${IMAGE} 42 43cd: ${BSD_RD} 44 -rm -rf ${.OBJDIR}/cd-dir/ 45 -@mkdir -p ${.OBJDIR}/cd-dir/${OSREV}/macppc/ 46 cp bsd.rd ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd 47 strip ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd 48 gzip -9n ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd 49 mv ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd.gz ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd 50 # On HFS, doing the following means COPIES of the files.. therefore 51 # we skip doing so. 52 # ln ${.OBJDIR}/cd-dir/${OSREV}/macppc/bsd.rd ${.OBJDIR}/cd-dir/bsd.rd 53 # ln ${.OBJDIR}/cd-dir/bsd.rd ${.OBJDIR}/cd-dir/bsd 54 cp ${.CURDIR}/../../../sys/arch/macppc/stand/tbxidata/bsd.tbxi \ 55 ${.OBJDIR}/cd-dir/${OSREV}/macppc 56 cp ${DESTDIR}/usr/mdec/ofwboot ${.OBJDIR}/cd-dir/ 57 mkhybrid -v -v -r -part -hfs \ 58 -hfs-bless ${.OBJDIR}/cd-dir/${OSREV}/macppc \ 59 -map ${.CURDIR}/../../../gnu/usr.sbin/mkhybrid/src/more.mapping \ 60 -A "OpenBSD ${OSREV} macppc bootonly CD" \ 61 -P "Copyright (c) `date +%Y` Theo de Raadt, The OpenBSD project" \ 62 -p "Theo de Raadt <deraadt@openbsd.org>" \ 63 -V "OpenBSD/macppc ${OSREV} boot-only CD" \ 64 -o ${.OBJDIR}/cd${OSrev}.iso ${.OBJDIR}/cd-dir 65 66${IMAGE}: rd_setup do_files rd_teardown 67 68.endif 69 70bsd: 71 cd ${TOP}/../../sys/arch/macppc/conf && config RAMDISK 72 cd ${TOP}/../../sys/arch/macppc/compile/RAMDISK && \ 73 ${MAKE} clean && exec ${MAKE} 74 cp ${TOP}/../../sys/arch/macppc/compile/RAMDISK/bsd bsd 75 76rd_setup: 77 dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} 78 vnconfig -v -c ${VND} ${IMAGE} 79 disklabel -w ${VND} ${DISKTYPE} 80 newfs ${NEWFSARGS} ${VND_RDEV} 81 fsck ${VND_RDEV} 82 mount ${VND_DEV} ${MOUNT_POINT} 83 84rd_teardown: 85 @df -i ${MOUNT_POINT} 86 -umount ${MOUNT_POINT} 87 -vnconfig -u ${VND} 88 89rdsetroot: ${TOP}/../common/elfrdsetroot.c 90 ${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \ 91 ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \ 92 ${TOP}/../common/elf64.c 93 94unconfig: 95 -umount -f ${MOUNT_POINT} 96 -vnconfig -u ${VND} 97 98.PRECIOUS: ${IMAGE} 99 100${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 101 crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 102 103${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 104 ${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all 105 106${CRUNCHCONF}: ${LISTS} 107 awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 108 109do_files: 110 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 111 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 112 REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ 113 RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS} 114 rm ${MOUNT_POINT}/${CBIN} 115 116clean cleandir: 117 /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 118 lib*.a lib*.olist ${CBIN}.map \ 119 *.o *.lo *.c bsd ${BSD_RD} cd${REV}.iso rdsetroot 120 rm -rf cd-dir 121 122.ifdef RELEASEDIR 123install: 124 cp ${BSD_RD} cd${REV}.iso ${RELEASEDIR} 125.endif 126 127.include <bsd.obj.mk> 128.include <bsd.subdir.mk> 129