Makefile revision 1.27
11.27Sbouyer#	$NetBSD: Makefile,v 1.27 2002/04/18 15:36:58 bouyer Exp $
21.27Sbouyer
31.27Sbouyer
41.27Sbouyer.include <bsd.own.mk>
51.27Sbouyer.include "${_SRC_TOP_}/distrib/Makefile.inc"
61.1Sgwr
71.1SgwrTOP=		${.CURDIR}/..
81.1Sgwr
91.1Sgwr.include "${TOP}/Makefile.inc"
101.26Stsutsui
111.26StsutsuiDBG=	-Os
121.1Sgwr
131.1SgwrIMAGE=	ramdisk
141.1SgwrCBIN=	rd_bin
151.1Sgwr
161.1SgwrTREE=	${TOP}/common/${IMAGE}.tree
171.1Sgwr
181.1SgwrLISTS=	${TOP}/common/${CBIN}.list \
191.1Sgwr	${TOP}/common/${IMAGE}.list
201.1Sgwr
211.9SgwrKERNEL3  = ${KERNOBJDIR}/RAMDISK/netbsd
221.9SgwrKERNEL3X = ${KERNOBJDIR}/RAMDISK3X/netbsd
231.3Sgwr
241.9SgwrMOUNT_POINT?=	/mnt
251.12StsutsuiVND?=		vnd1
261.12StsutsuiVND_DEV?=	/dev/${VND}a
271.12StsutsuiVND_RDEV?=	/dev/r${VND}a
281.1Sgwr
291.12Stsutsui# These are all the parameters for the root fs:
301.3SgwrDISKTYPE=	rdroot
311.18SchsSIZE=		400k
321.12Stsutsui# bigendian, minfree, opt, b/i , cpg
331.12StsutsuiNEWFSARGS= -B be -m 0 -o space -i 4096 -c 20
341.20SjmcMDSETIMAGE?=	mdsetimage
351.19SjmcMTREE?=		mtree
361.1Sgwr
371.14StsutsuiKERNELS= netbsd.RAMDISK netbsd.RAMDISK3X
381.12StsutsuiCLEANFILES= $(KERNELS) ${IMAGE}.fs netbsd-tmp
391.1Sgwr
401.11Sgwrall: $(KERNELS)
411.5Sgwr
421.14Stsutsuinetbsd.RAMDISK : ${IMAGE}.fs
431.5Sgwr	cp ${KERNEL3} netbsd-tmp
441.20Sjmc	${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs
451.5Sgwr	-mv -f netbsd-tmp $@
461.5Sgwr
471.14Stsutsuinetbsd.RAMDISK3X : ${IMAGE}.fs
481.5Sgwr	cp ${KERNEL3X} netbsd-tmp
491.20Sjmc	${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs
501.1Sgwr	-mv -f netbsd-tmp $@
511.1Sgwr
521.3Sgwr${IMAGE}.fs: ${TREE} ${LISTS} ${CBIN}
531.12Stsutsui	dd if=/dev/zero of=${IMAGE}.fs bs=${SIZE} count=1
541.12Stsutsui	vnconfig -t ${DISKTYPE} -v -c ${VND} ${IMAGE}.fs
551.12Stsutsui	disklabel -rw ${VND} ${DISKTYPE}
561.12Stsutsui	newfs ${NEWFSARGS} ${VND_RDEV}
571.12Stsutsui	mount ${VND_DEV} ${MOUNT_POINT}
581.19Sjmc	${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u
591.13Stsutsui	TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \
601.3Sgwr	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
611.3Sgwr	  sh ${TOP}/common/RunList.sh ${LISTS}
621.3Sgwr	sync
631.3Sgwr	@echo ""
641.3Sgwr	@df -i ${MOUNT_POINT}
651.3Sgwr	@echo ""
661.12Stsutsui	umount ${MOUNT_POINT}
671.12Stsutsui	vnconfig -u ${VND}
681.15Sjmc
691.15Sjmcunconfig:
701.15Sjmc	-umount -f ${MOUNT_POINT}
711.21Stsutsui	-vnconfig -u ${VND}
721.15Sjmc	-/bin/rm -f ${IMAGE}.fs
731.1Sgwr
741.2Sgwr# Do not delete this if I change my mind and kill make...
751.2Sgwr.PRECIOUS: ${IMAGE}.fs
761.2Sgwr
771.1Sgwr# Rules for making ${CBIN} ...
781.1Sgwr.include "${TOP}/common/Make.crunch"
791.1Sgwr
801.1Sgwr# Use stubs to eliminate some large stuff from libc
811.25SlukemHACKSRC=	${DISTRIBDIR}/utils/libhack
821.25Slukem.include	"${HACKSRC}/Makefile.inc"
831.25Slukem${CBIN}:	libhack.o
841.1Sgwr
851.6Slukemclean cleandir distclean:
861.13Stsutsui	-rm -f a.out core *.core *.o *.cro *.c
871.2Sgwr	-rm -f ${CLEANFILES}
881.1Sgwr
891.11Sgwr.if !defined(RELEASEDIR)
901.11Sgwrrelease:
911.11Sgwr	@echo setenv RELEASEDIR before doing that!
921.11Sgwr	@false
931.11Sgwr.else	# RELEASEDIR
941.11Sgwrrelease: $(KERNELS)
951.11Sgwr.for x in ${KERNELS}
961.11Sgwr	gzip -c -9 < ${x} > \
971.11Sgwr	 ${RELEASEDIR}/binary/kernel/${x}.gz
981.11Sgwr.endfor # KERNELS
991.11Sgwr.endif	# RELEASEDIR
1001.13Stsutsui
1011.22Schs.INTERRUPT: unconfig
1021.22Schs
1031.13Stsutsui# Standard rules needed by the above...
1041.22Schs.include <bsd.own.mk>
1051.22Schs.include <bsd.prog.mk>
1061.13Stsutsui.include <bsd.obj.mk>
1071.13Stsutsui.include <bsd.subdir.mk>
108