Makefile revision 1.21
11.21Stsutsui#	$NetBSD: Makefile,v 1.21 2001/11/09 21:00:04 tsutsui Exp $
21.1Sgwr
31.1SgwrTOP=		${.CURDIR}/..
41.1Sgwr
51.1Sgwr# This include just sets REV=XX
61.1Sgwr.include "${TOP}/Makefile.inc"
71.20Sjmc.include <bsd.own.mk>
81.1Sgwr
91.1SgwrIMAGE=	ramdisk
101.1SgwrCBIN=	rd_bin
111.1Sgwr
121.1SgwrTREE=	${TOP}/common/${IMAGE}.tree
131.1Sgwr
141.1SgwrLISTS=	${TOP}/common/${CBIN}.list \
151.1Sgwr	${TOP}/common/${IMAGE}.list
161.1Sgwr
171.9SgwrKERNEL3  = ${KERNOBJDIR}/RAMDISK/netbsd
181.9SgwrKERNEL3X = ${KERNOBJDIR}/RAMDISK3X/netbsd
191.3Sgwr
201.9SgwrMOUNT_POINT?=	/mnt
211.12StsutsuiVND?=		vnd1
221.12StsutsuiVND_DEV?=	/dev/${VND}a
231.12StsutsuiVND_RDEV?=	/dev/r${VND}a
241.1Sgwr
251.12Stsutsui# These are all the parameters for the root fs:
261.3SgwrDISKTYPE=	rdroot
271.18SchsSIZE=		400k
281.12Stsutsui# bigendian, minfree, opt, b/i , cpg
291.12StsutsuiNEWFSARGS= -B be -m 0 -o space -i 4096 -c 20
301.20SjmcMDSETIMAGE?=	mdsetimage
311.19SjmcMTREE?=		mtree
321.1Sgwr
331.14StsutsuiKERNELS= netbsd.RAMDISK netbsd.RAMDISK3X
341.12StsutsuiCLEANFILES= $(KERNELS) ${IMAGE}.fs netbsd-tmp
351.1Sgwr
361.11Sgwrall: $(KERNELS)
371.5Sgwr
381.14Stsutsuinetbsd.RAMDISK : ${IMAGE}.fs
391.5Sgwr	cp ${KERNEL3} netbsd-tmp
401.20Sjmc	${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs
411.5Sgwr	-mv -f netbsd-tmp $@
421.5Sgwr
431.14Stsutsuinetbsd.RAMDISK3X : ${IMAGE}.fs
441.5Sgwr	cp ${KERNEL3X} netbsd-tmp
451.20Sjmc	${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs
461.1Sgwr	-mv -f netbsd-tmp $@
471.1Sgwr
481.3Sgwr${IMAGE}.fs: ${TREE} ${LISTS} ${CBIN}
491.12Stsutsui	dd if=/dev/zero of=${IMAGE}.fs bs=${SIZE} count=1
501.12Stsutsui	vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}.fs
511.12Stsutsui	disklabel -rw ${VND} ${DISKTYPE}
521.12Stsutsui	newfs ${NEWFSARGS} ${VND_RDEV}
531.12Stsutsui	mount ${VND_DEV} ${MOUNT_POINT}
541.19Sjmc	${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u
551.13Stsutsui	TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \
561.3Sgwr	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
571.3Sgwr	  sh ${TOP}/common/RunList.sh ${LISTS}
581.3Sgwr	sync
591.3Sgwr	@echo ""
601.3Sgwr	@df -i ${MOUNT_POINT}
611.3Sgwr	@echo ""
621.12Stsutsui	umount ${MOUNT_POINT}
631.12Stsutsui	vnconfig -u ${VND}
641.15Sjmc
651.15Sjmcunconfig:
661.15Sjmc	-umount -f ${MOUNT_POINT}
671.21Stsutsui	-vnconfig -u ${VND}
681.15Sjmc	-/bin/rm -f ${IMAGE}.fs
691.1Sgwr
701.2Sgwr# Do not delete this if I change my mind and kill make...
711.2Sgwr.PRECIOUS: ${IMAGE}.fs
721.2Sgwr
731.1Sgwr# Rules for making ${CBIN} ...
741.1Sgwr.include "${TOP}/common/Make.crunch"
751.1Sgwr
761.3Sgwr# This is listed in rd_bin.conf but is built here.
771.1Sgwr${CBIN} : libhack.o
781.1Sgwr
791.1Sgwr# Use stubs to eliminate some large stuff from libc
801.1SgwrHACKSRC=${TOP}/../utils/libhack
811.1Sgwr.include "${HACKSRC}/Makefile.inc"
821.1Sgwr
831.6Slukemclean cleandir distclean:
841.13Stsutsui	-rm -f a.out core *.core *.o *.cro *.c
851.2Sgwr	-rm -f ${CLEANFILES}
861.1Sgwr
871.11Sgwr.if !defined(RELEASEDIR)
881.11Sgwrrelease:
891.11Sgwr	@echo setenv RELEASEDIR before doing that!
901.11Sgwr	@false
911.11Sgwr.else	# RELEASEDIR
921.11Sgwrrelease: $(KERNELS)
931.11Sgwr.for x in ${KERNELS}
941.11Sgwr	gzip -c -9 < ${x} > \
951.11Sgwr	 ${RELEASEDIR}/binary/kernel/${x}.gz
961.11Sgwr.endfor # KERNELS
971.11Sgwr.endif	# RELEASEDIR
981.13Stsutsui
991.13Stsutsui# Standard rules needed by the above...
1001.13Stsutsui.include <bsd.obj.mk>
1011.16Schs.include <bsd.sys.mk>
1021.13Stsutsui.include <bsd.subdir.mk>
103