Makefile revision 1.3
11.3Sjmc#	$NetBSD: Makefile,v 1.3 2001/10/21 23:23:23 jmc Exp $
21.1Sfredette
31.1SfredetteTOP=		${.CURDIR}/..
41.1Sfredette
51.1Sfredette# This include just sets REV=XX
61.1Sfredette.include "${TOP}/Makefile.inc"
71.3Sjmc.include <bsd.own.mk>
81.1Sfredette
91.1SfredetteIMAGE=	ramdisk
101.1SfredetteCBIN=	rd_bin
111.1Sfredette
121.1SfredetteTREE=	${TOP}/common/${IMAGE}.tree
131.1Sfredette
141.1SfredetteLISTS=	${TOP}/common/${CBIN}.list \
151.1Sfredette	${TOP}/common/${IMAGE}.list
161.1Sfredette
171.1SfredetteKERNEL  = ${KERNOBJDIR}/RAMDISK/netbsd
181.3SjmcMDSETIMAGE?=	mdsetimage
191.1Sfredette
201.1SfredetteMOUNT_POINT?=	/mnt
211.1SfredetteVND?=		vnd1
221.1SfredetteVND_DEV?=	/dev/${VND}a
231.1SfredetteVND_RDEV?=	/dev/r${VND}a
241.1Sfredette
251.1Sfredette# These are all the parameters for the root fs:
261.1SfredetteDISKTYPE=	rdroot
271.1SfredetteSIZE=		400k
281.1Sfredette# bigendian, minfree, opt, b/i , cpg
291.1SfredetteNEWFSARGS= -B be -m 0 -o space -i 4096 -c 20
301.1Sfredette
311.1SfredetteKERNELS= netbsd.RAMDISK 
321.2SjmcMTREE?=		mtree
331.1SfredetteCLEANFILES= $(KERNELS) ${IMAGE}.fs netbsd-tmp
341.1Sfredette
351.1Sfredetteall: $(KERNELS)
361.1Sfredette
371.1Sfredettenetbsd.RAMDISK : ${IMAGE}.fs
381.1Sfredette	cp ${KERNEL} netbsd-tmp
391.3Sjmc	${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs
401.1Sfredette	-mv -f netbsd-tmp $@
411.1Sfredette
421.1Sfredette${IMAGE}.fs: ${TREE} ${LISTS} ${CBIN}
431.1Sfredette	dd if=/dev/zero of=${IMAGE}.fs bs=${SIZE} count=1
441.1Sfredette	vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}.fs
451.1Sfredette	disklabel -rw ${VND} ${DISKTYPE}
461.1Sfredette	newfs ${NEWFSARGS} ${VND_RDEV}
471.1Sfredette	mount ${VND_DEV} ${MOUNT_POINT}
481.2Sjmc	${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u
491.1Sfredette	TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \
501.1Sfredette	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
511.1Sfredette	  sh ${TOP}/common/RunList.sh ${LISTS}
521.1Sfredette	sync
531.1Sfredette	@echo ""
541.1Sfredette	@df -i ${MOUNT_POINT}
551.1Sfredette	@echo ""
561.1Sfredette	umount ${MOUNT_POINT}
571.1Sfredette	vnconfig -u ${VND}
581.1Sfredette
591.1Sfredetteunconfig:
601.1Sfredette	-umount -f ${MOUNT_POINT}
611.1Sfredette	-vnconfig -u ${VND_DEV}
621.1Sfredette	-/bin/rm -f ${IMAGE}.fs
631.1Sfredette
641.1Sfredette# Do not delete this if I change my mind and kill make...
651.1Sfredette.PRECIOUS: ${IMAGE}.fs
661.1Sfredette
671.1Sfredette# Rules for making ${CBIN} ...
681.1Sfredette.include "${TOP}/common/Make.crunch"
691.1Sfredette
701.1Sfredette# This is listed in rd_bin.conf but is built here.
711.1Sfredette${CBIN} : libhack.o
721.1Sfredette
731.1Sfredette# Use stubs to eliminate some large stuff from libc
741.1SfredetteHACKSRC=${TOP}/../utils/libhack
751.1Sfredette.include "${HACKSRC}/Makefile.inc"
761.1Sfredette
771.1Sfredetteclean cleandir distclean:
781.1Sfredette	-rm -f a.out core *.core *.o *.cro *.c
791.1Sfredette	-rm -f ${CLEANFILES}
801.1Sfredette
811.1Sfredette.if !defined(RELEASEDIR)
821.1Sfredetterelease:
831.1Sfredette	@echo setenv RELEASEDIR before doing that!
841.1Sfredette	@false
851.1Sfredette.else	# RELEASEDIR
861.1Sfredetterelease: $(KERNELS)
871.1Sfredette.for x in ${KERNELS}
881.1Sfredette	gzip -c -9 < ${x} > \
891.1Sfredette	 ${RELEASEDIR}/binary/kernel/${x}.gz
901.1Sfredette.endfor # KERNELS
911.1Sfredette.endif	# RELEASEDIR
921.1Sfredette
931.1Sfredette# Standard rules needed by the above...
941.1Sfredette.include <bsd.obj.mk>
951.1Sfredette.include <bsd.subdir.mk>
96