diff options
Diffstat (limited to 'distrib/loongson/ramdisk/Makefile')
-rw-r--r-- | distrib/loongson/ramdisk/Makefile | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/distrib/loongson/ramdisk/Makefile b/distrib/loongson/ramdisk/Makefile new file mode 100644 index 00000000000..7ef9febfea7 --- /dev/null +++ b/distrib/loongson/ramdisk/Makefile @@ -0,0 +1,106 @@ +# $OpenBSD: Makefile,v 1.1 2010/01/31 21:36:01 otto Exp $ + +REV= ${OSrev} + +TOP= ${.CURDIR}/.. + +BSD_RD= bsd.rd +BSD_BIN= bsd.bin +IMAGE= mr.fs +CBIN?= instbin +CRUNCHCONF?= ${CBIN}.conf +CRUNCHCONFS?= ${.CURDIR}/../common/crunch.conf +LISTS= ${.CURDIR}/list +UTILS?= ${.CURDIR}/../../miniroot + +MOUNT_POINT= /mnt +MTREE= ${UTILS}/mtree.conf + +VND?= svnd0 +VND_DEV= /dev/${VND}a +VND_RDEV= /dev/r${VND}a +VND_CRDEV= /dev/r${VND}c + + +DISKTYPE= rdroot +NBLKS= 8192 +# minfree, opt, b/i trks, sects, cpg +NEWFSARGS= -m 0 -o space -i 4096 + +.ifndef DESTDIR +all ${IMAGE}: + @echo setenv DESTDIR before making a ramdisk! + @false +.else + +# mix config is not needed. +all: ${BSD_RD} ${BSD_BIN} + +${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot + cp bsd ${BSD_RD} + ${.OBJDIR}/rdsetroot ${BSD_RD} ${IMAGE} + +${BSD_BIN}: ${BSD_RD} + objcopy -O binary ${BSD_RD} ${BSD_BIN} + +${IMAGE}: rd_setup do_files rd_teardown + +.endif + +bsd: + cd ${TOP}/../../sys/arch/loongson/conf && config RAMDISK + cd ${TOP}/../../sys/arch/loongson/compile/RAMDISK && \ + ${MAKE} clean && ${MAKE} depend && ${MAKE} + cp ${TOP}/../../sys/arch/loongson/compile/RAMDISK/bsd bsd + +rd_setup: + dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS} + vnconfig -v -c ${VND} ${IMAGE} + disklabel -w ${VND} ${DISKTYPE} + newfs ${NEWFSARGS} ${VND_RDEV} + fsck ${VND_RDEV} + mount ${VND_DEV} ${MOUNT_POINT} + +rd_teardown: + @df -i ${MOUNT_POINT} + -umount ${MOUNT_POINT} + -vnconfig -u ${VND} + +rdsetroot: ${TOP}/../common/elfrdsetroot.c + ${HOSTCC} -o rdsetroot ${TOP}/../common/elfrdsetroot.c + +unconfig: + -umount -f ${MOUNT_POINT} + -vnconfig -u ${VND} + +.PRECIOUS: ${IMAGE} + +${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF} + crunchgen -EM -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC} + +${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c + ${MAKE} -f ${CBIN}.mk all + +${CRUNCHCONF}: ${LISTS} + awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf + +do_files: + mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u + TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \ + REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \ + RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS} + rm ${MOUNT_POINT}/${CBIN} + +clean cleandir: + /bin/rm -f core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \ + *.o *.lo *.c bsd ${BSD_RD} cd${REV}.iso \ + rdsetroot + rm -rf cd-dir + +.ifdef RELEASEDIR +install: + cp ${BSD_RD} ${BSD_BIN} ${RELEASEDIR} +.endif + +.include <bsd.obj.mk> +.include <bsd.subdir.mk> |