1# $OpenBSD: Makefile,v 1.10 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 22 23 24DISKTYPE= rdroot 25NBLKS= 8192 26# minfree, opt, b/i trks, sects, cpg 27NEWFSARGS= -m 0 -o space -i 4096 28 29.ifndef DESTDIR 30all ${IMAGE}: 31 @echo setenv DESTDIR before making a ramdisk! 32 @false 33.else 34 35# mix config is not needed. 36all: ${BSD_RD} 37 38${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot 39 cp bsd ${BSD_RD} 40 ${.OBJDIR}/rdsetroot ${BSD_RD} ${IMAGE} 41 42${IMAGE}: rd_setup do_files rd_teardown 43 44.endif 45 46bsd: 47 cd ${TOP}/../../sys/arch/loongson/conf && config RAMDISK 48 cd ${TOP}/../../sys/arch/loongson/compile/RAMDISK && \ 49 ${MAKE} clean && exec ${MAKE} 50 cp ${TOP}/../../sys/arch/loongson/compile/RAMDISK/bsd bsd 51 52rd_setup: 53 dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} 54 vnconfig -v -c ${VND} ${IMAGE} 55 disklabel -w ${VND} ${DISKTYPE} 56 newfs ${NEWFSARGS} ${VND_RDEV} 57 fsck ${VND_RDEV} 58 mount ${VND_DEV} ${MOUNT_POINT} 59 60rd_teardown: 61 @df -i ${MOUNT_POINT} 62 -umount ${MOUNT_POINT} 63 -vnconfig -u ${VND} 64 65rdsetroot: ${TOP}/../common/elfrdsetroot.c 66 ${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \ 67 ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \ 68 ${TOP}/../common/elf64.c 69 70unconfig: 71 -umount -f ${MOUNT_POINT} 72 -vnconfig -u ${VND} 73 74.PRECIOUS: ${IMAGE} 75 76${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 77 crunchgen -EM -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 78 79${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 80 ${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all 81 82${CRUNCHCONF}: ${LISTS} 83 awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 84 85do_files: 86 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 87 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 88 REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ 89 RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS} 90 rm ${MOUNT_POINT}/${CBIN} 91 92clean cleandir: 93 /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 94 lib*.a lib*.olist ${CBIN}.map \ 95 *.o *.lo *.c bsd ${BSD_RD} cd${REV}.iso rdsetroot 96 rm -rf cd-dir 97 98.ifdef RELEASEDIR 99install: 100 cp ${BSD_RD} ${RELEASEDIR} 101.endif 102 103.include <bsd.obj.mk> 104.include <bsd.subdir.mk> 105