1# $OpenBSD: Makefile,v 1.11 2016/10/14 18:44:19 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/compile/RAMDISK && \ 48 su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}' 49 cp -p ${TOP}/../../sys/arch/loongson/compile/RAMDISK/obj/bsd bsd 50 51rd_setup: 52 dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} 53 vnconfig -v -c ${VND} ${IMAGE} 54 disklabel -w ${VND} ${DISKTYPE} 55 newfs ${NEWFSARGS} ${VND_RDEV} 56 fsck ${VND_RDEV} 57 mount ${VND_DEV} ${MOUNT_POINT} 58 59rd_teardown: 60 @df -i ${MOUNT_POINT} 61 -umount ${MOUNT_POINT} 62 -vnconfig -u ${VND} 63 64rdsetroot: ${TOP}/../common/elfrdsetroot.c 65 ${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \ 66 ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \ 67 ${TOP}/../common/elf64.c 68 69unconfig: 70 -umount -f ${MOUNT_POINT} 71 -vnconfig -u ${VND} 72 73.PRECIOUS: ${IMAGE} 74 75${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} 76 crunchgen -EM -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} 77 78${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c 79 ${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all 80 81${CRUNCHCONF}: ${LISTS} 82 awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf 83 84do_files: 85 mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u 86 TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ 87 REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ 88 RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS} 89 rm ${MOUNT_POINT}/${CBIN} 90 91clean cleandir: 92 /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ 93 lib*.a lib*.olist ${CBIN}.map \ 94 *.o *.lo *.c bsd ${BSD_RD} cd${REV}.iso rdsetroot 95 rm -rf cd-dir 96 97.ifdef RELEASEDIR 98install: 99 cp ${BSD_RD} ${RELEASEDIR} 100.endif 101 102.include <bsd.obj.mk> 103.include <bsd.subdir.mk> 104