Makefile revision 1.9
11.9Stsutsui#	$NetBSD: Makefile,v 1.9 2002/04/06 18:16:12 tsutsui Exp $
21.1Sfredette
31.1SfredetteTOP=		${.CURDIR}/..
41.1Sfredette
51.5Slukem# This include just sets DISTRIBREV=XX
61.1Sfredette.include "${TOP}/Makefile.inc"
71.3Sjmc.include <bsd.own.mk>
81.9Stsutsui
91.9StsutsuiDBG=	-Os
101.1Sfredette
111.1SfredetteIMAGE=	ramdisk
121.1SfredetteCBIN=	rd_bin
131.1Sfredette
141.1SfredetteTREE=	${TOP}/common/${IMAGE}.tree
151.1Sfredette
161.1SfredetteLISTS=	${TOP}/common/${CBIN}.list \
171.1Sfredette	${TOP}/common/${IMAGE}.list
181.1Sfredette
191.1SfredetteKERNEL  = ${KERNOBJDIR}/RAMDISK/netbsd
201.1Sfredette
211.1SfredetteMOUNT_POINT?=	/mnt
221.1SfredetteVND?=		vnd1
231.1SfredetteVND_DEV?=	/dev/${VND}a
241.1SfredetteVND_RDEV?=	/dev/r${VND}a
251.1Sfredette
261.1Sfredette# These are all the parameters for the root fs:
271.1SfredetteDISKTYPE=	rdroot
281.1SfredetteSIZE=		400k
291.1Sfredette# bigendian, minfree, opt, b/i , cpg
301.1SfredetteNEWFSARGS= -B be -m 0 -o space -i 4096 -c 20
311.4SfredetteMDSETIMAGE?=	mdsetimage
321.4SfredetteMTREE?=		mtree
331.1Sfredette
341.1SfredetteKERNELS= netbsd.RAMDISK 
351.1SfredetteCLEANFILES= $(KERNELS) ${IMAGE}.fs netbsd-tmp
361.1Sfredette
371.1Sfredetteall: $(KERNELS)
381.1Sfredette
391.1Sfredettenetbsd.RAMDISK : ${IMAGE}.fs
401.1Sfredette	cp ${KERNEL} netbsd-tmp
411.3Sjmc	${MDSETIMAGE} -v netbsd-tmp ${IMAGE}.fs
421.1Sfredette	-mv -f netbsd-tmp $@
431.1Sfredette
441.1Sfredette${IMAGE}.fs: ${TREE} ${LISTS} ${CBIN}
451.1Sfredette	dd if=/dev/zero of=${IMAGE}.fs bs=${SIZE} count=1
461.4Sfredette	vnconfig -f ${DESTDIR}/etc/disktab -t ${DISKTYPE} -v \
471.4Sfredette	  -c ${VND} ${IMAGE}.fs
481.4Sfredette	disklabel -rw -f ${DESTDIR}/etc/disktab ${VND} ${DISKTYPE}
491.1Sfredette	newfs ${NEWFSARGS} ${VND_RDEV}
501.1Sfredette	mount ${VND_DEV} ${MOUNT_POINT}
511.2Sjmc	${MTREE} -def ${TREE} -p ${MOUNT_POINT}/ -u
521.1Sfredette	TOPDIR=${TOP} CURDIR=${.CURDIR} DESTDIR=${DESTDIR} \
531.1Sfredette	  OBJDIR=${.OBJDIR} TARGDIR=${MOUNT_POINT} \
541.1Sfredette	  sh ${TOP}/common/RunList.sh ${LISTS}
551.1Sfredette	sync
561.1Sfredette	@echo ""
571.1Sfredette	@df -i ${MOUNT_POINT}
581.1Sfredette	@echo ""
591.1Sfredette	umount ${MOUNT_POINT}
601.4Sfredette	dd if=${VND_DEV} of=${IMAGE}-tmp.fs bs=${SIZE} count=1
611.1Sfredette	vnconfig -u ${VND}
621.4Sfredette	mv ${IMAGE}-tmp.fs ${IMAGE}.fs
631.1Sfredette
641.1Sfredetteunconfig:
651.1Sfredette	-umount -f ${MOUNT_POINT}
661.4Sfredette	-vnconfig -u ${VND}
671.1Sfredette	-/bin/rm -f ${IMAGE}.fs
681.1Sfredette
691.1Sfredette# Do not delete this if I change my mind and kill make...
701.1Sfredette.PRECIOUS: ${IMAGE}.fs
711.1Sfredette
721.1Sfredette# Rules for making ${CBIN} ...
731.1Sfredette.include "${TOP}/common/Make.crunch"
741.1Sfredette
751.1Sfredette
761.1Sfredette# Use stubs to eliminate some large stuff from libc
771.8SlukemHACKSRC=	${DISTRIBDIR}/utils/libhack
781.8SlukemHACKOBJS=	gethost.o
791.8Slukem.include	"${HACKSRC}/Makefile.inc"
801.8Slukem${CBIN}:	libhack.o
811.4SfredetteCPPFLAGS+=-I${DESTDIR}/usr/include
821.1Sfredette
831.1Sfredetteclean cleandir distclean:
841.1Sfredette	-rm -f a.out core *.core *.o *.cro *.c
851.1Sfredette	-rm -f ${CLEANFILES}
861.1Sfredette
871.1Sfredette.if !defined(RELEASEDIR)
881.1Sfredetterelease:
891.1Sfredette	@echo setenv RELEASEDIR before doing that!
901.1Sfredette	@false
911.1Sfredette.else	# RELEASEDIR
921.1Sfredetterelease: $(KERNELS)
931.1Sfredette.for x in ${KERNELS}
941.1Sfredette	gzip -c -9 < ${x} > \
951.1Sfredette	 ${RELEASEDIR}/binary/kernel/${x}.gz
961.1Sfredette.endfor # KERNELS
971.1Sfredette.endif	# RELEASEDIR
981.1Sfredette
991.1Sfredette# Standard rules needed by the above...
1001.1Sfredette.include <bsd.obj.mk>
1011.4Sfredette.include <bsd.sys.mk>
1021.1Sfredette.include <bsd.subdir.mk>
103