xref: /netbsd-src/distrib/evbsh3/rom/ramdiskeb/Makefile (revision 06be8101a16cc95f40783b3cb7afd12112103a9a)
1#	$NetBSD: Makefile,v 1.4 2000/11/14 06:37:07 msaitoh Exp $
2
3TOP=		${.CURDIR}/..
4WARNS=1
5
6.include "${TOP}/Makefile.inc"
7IMAGE=		ramdisk.fs
8
9CBIN=		ramdiskbin
10
11MOUNT_POINT?=	/mnt
12# DEV/RDEV file system device, CDEV/RDEV vnconfig device
13VND?=		vnd0
14VND_DEV=	/dev/${VND}a
15VND_RDEV=	/dev/r${VND}a
16VND_CDEV=	/dev/${VND}d
17VND_CRDEV=	/dev/r${VND}d
18IMAGE?=		xxx.fs
19MDEC=		${DESTDIR}/usr/mdec
20
21#CRUNCHGEN?=	sh-crunchgen
22
23# for cross compile
24#CRUNCHIDE?=	sh-crunchide
25
26SUDO?=		sudo
27DISKLABEL?=	${SUDO} disklabel
28MOUNT?=		${SUDO} mount
29MTREE?=		${SUDO} mtree
30NEWFS?=		${SUDO} newfs
31UMOUNT?=	${SUDO} umount
32VNCONFIG?=	${SUDO} vnconfig
33
34LISTS=		../ramdiskcommon/list
35CRUNCHCONF=	../ramdiskcommon/${CBIN}.conf
36MTREECONF=	../ramdiskcommon/mtree.conf
37
38RAMDISKSPC=	128
39RAMDISKCYLS=	54
40RAMDISKSIZE!=	expr ${RAMDISKSPC} \* ${RAMDISKCYLS}
41
42realall: ${IMAGE}
43
44${IMAGE}: ${CBIN} ${MTREECONF} ${LISTS}
45	rm -f ${IMAGE}.tmp
46	dd if=/dev/zero of=${IMAGE}.tmp count=${RAMDISKSIZE}
47	${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE}.tmp \
48		512/${RAMDISKSPC}/1/${RAMDISKCYLS}
49	-${DISKLABEL} ${VND_CDEV} >tmplabel
50	${DISKLABEL} -r -R ${VND_CDEV} tmplabel
51	${NEWFS} -B be -m 0 -o space ${VND_RDEV}
52	${MOUNT} ${VND_DEV} ${MOUNT_POINT}
53	${MTREE} -def ${.CURDIR}/${MTREECONF} -p ${MOUNT_POINT}/ -U
54	TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
55		TARGDIR=${MOUNT_POINT} ${SUDO} sh ${TOP}/runlist.sh \
56		${.CURDIR}/${LISTS}
57	@echo ""
58	@df -i ${MOUNT_POINT}
59	@echo ""
60	${UMOUNT} ${MOUNT_POINT}
61	${VNCONFIG} -u ${VND_CDEV}
62	mv -f ${IMAGE}.tmp ${IMAGE}
63
64unconfig:
65	-${UMOUNT} -f ${MOUNT_POINT}
66	-${VNCONFIG} -u ${VND_DEV}
67	-/bin/rm -f ${IMAGE}.tmp
68
69${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
70	${CRUNCHGEN} -D ${TOP}/../../.. -L ${.CURDIR} ${.ALLSRC}
71
72${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
73	${MAKE} -f ${CBIN}.mk all
74
75# This is listed in stonebin.conf but is built here.
76#${CBIN}: libhack.o
77
78# Use stubs to eliminate some large stuff from libc
79HACKSRC=${TOP}/../../utils/libhack
80.include "${HACKSRC}/Makefile.inc"
81
82mount:
83	${VNCONFIG} -v -c ${VND_CDEV} ${IMAGE} \
84		512/${RAMDISKSPC}/1/${RAMDISKCYLS}
85	${MOUNT} ${VND_DEV} ${MOUNT_POINT}
86
87clean cleandir distclean:
88	/bin/rm -f ${AUXCLEAN} *.core ${IMAGE} ${IMAGE}.tmp ${CBIN} \
89	    ${CBIN}.mk ${CBIN}.cache *.o *.cro *.c tmplabel
90
91.include <bsd.own.mk>
92.include <bsd.obj.mk>
93.include <bsd.subdir.mk>
94.include <bsd.sys.mk>
95