Makefile revision 1.19
11.19Slukem#	$NetBSD: Makefile,v 1.19 2002/04/12 02:19:31 lukem Exp $
21.16Stsutsui
31.16Stsutsui.include <bsd.own.mk>
41.19Slukem.include "${_SRC_TOP_}/distrib/Makefile.inc"
51.19Slukem
61.16Stsutsui.include <bsd.kernobj.mk>
71.1Stsubai
81.18StsutsuiBASENAME=	boot
91.18StsutsuiIMAGE1=		${BASENAME}1.fs
101.16StsutsuiDISKSIZE=	2880
111.16StsutsuiFSTMP=		ustar.tmp
121.1StsubaiMDEC=		${DESTDIR}/usr/mdec
131.16StsutsuiBOOT=		ofwboot
141.1Stsubai
151.14StvKERNDIR!=	cd ${.CURDIR}/../md-kernel && ${PRINTOBJDIR}
161.16StsutsuiKERN=		${KERNDIR}/netbsd.INSTALL.gz
171.16Stsutsui
181.16StsutsuiCLEANFILES+=	netbsd ${BOOT} ${FSTMP}
191.16Stsutsui
201.1Stsubai
211.1StsubaiDISKTYPE=	floppy
221.1Stsubai
231.16Stsutsuirealall: netbsd ${BOOT}
241.16Stsutsui	${PAX} -wvf ${FSTMP} ${BOOT} netbsd
251.16Stsutsui	@echo
261.16Stsutsui	@echo Making disk number one
271.16Stsutsui	rm -rf empty
281.16Stsutsui	mkdir -m 755 empty
291.18Stsutsui	${MAKEFS} -s ${DISKSIZE}b ${IMAGE1}.tmp empty
301.16Stsutsui	dd bs=8k seek=1 count=$$((${DISKSIZE} / 16 - 1)) \
311.18Stsutsui	    if=${FSTMP} of=${IMAGE1}.tmp
321.1Stsubai	@echo "installing new bootblocks"
331.18Stsutsui	${MDEC}/installboot -v -b 17 ${BOOT} ${MDEC}/bootxx ${IMAGE1}.tmp
341.19Slukem		# XXXDISTRIB
351.16Stsutsui	@ls -l ${FSTMP} | (read mode links uid gid size junk; \
361.16Stsutsui		dksize=$$((${DISKSIZE} * 512 - 8 * 1024)); \
371.16Stsutsui		disks=$$(($$size / $$dksize + 1)); \
381.16Stsutsui		if test $$size -gt $$dksize; then \
391.18Stsutsui			d=2; \
401.18Stsutsui			while test $$d -le $$disks; do \
411.18Stsutsui				echo; \
421.18Stsutsui				echo Making disk number $$d.; \
431.18Stsutsui				IMAGE=${BASENAME}$${d}.fs; \
441.18Stsutsui				echo USTARFS $$d > $${IMAGE}; \
451.18Stsutsui				skip=$$((($$d - 1) * (${DISKSIZE} / 16 - 1))); \
461.18Stsutsui				if test $$d -eq $$disks; then \
471.18Stsutsui					dd bs=8k seek=1 skip=$${skip} \
481.18Stsutsui						conv=sync \
491.18Stsutsui						if=${FSTMP} of=$${IMAGE}; \
501.18Stsutsui				else \
511.18Stsutsui					dd bs=8k seek=1 skip=$${skip} \
521.18Stsutsui					    conv=sync \
531.18Stsutsui					    count=$$((${DISKSIZE} / 16 - 1)) \
541.18Stsutsui						if=${FSTMP} of=$${IMAGE}; \
551.18Stsutsui				fi; \
561.18Stsutsui				d=$$(($$d + 1)); \
571.18Stsutsui			done; \
581.16Stsutsui		else \
591.16Stsutsui			dd seek=$$(($${size} / 512 + 15)) count=1 \
601.18Stsutsui				if=/dev/zero of=${IMAGE1}.tmp; \
611.16Stsutsui		fi; \
621.16Stsutsui		echo; \
631.16Stsutsui		bytes=$$(($$dksize * $$disks - $$size)); \
641.18Stsutsui		echo "There are $$bytes ($$(($$bytes / 1024))K) bytes free\
651.18Stsutsui			on disk $$disks."; \
661.16Stsutsui	)
671.18Stsutsui	mv -f ${IMAGE1}.tmp ${IMAGE1}
681.16Stsutsui
691.16Stsutsui# Let the kernel on the diskette be called "netbsd" although
701.16Stsutsui# it is compressed.  This is because the boot code will search
711.16Stsutsui# for "netbsd" first, and calling it "netbsd" instead of "netbsd.gz"
721.16Stsutsui# we avoid scanning all the diskettes before reading the file.
731.16Stsutsui
741.16Stsutsuinetbsd: ${KERN}
751.16Stsutsui	rm -f netbsd
761.16Stsutsui	cp ${KERN} netbsd
771.16Stsutsui
781.16Stsutsui# This is "cheating", just so that we have the available
791.16Stsutsui# space at the start of the tar file.  Installboot will overwrite
801.16Stsutsui# the start of the bootcode with the tail end of the "real", aligned
811.16Stsutsui# second-stage boot loader when it is run (which is quite a bit shorter
821.16Stsutsui# than the entire ${BOOTCODE} file, even when symbols are removed.
831.16Stsutsui# (the first 15*512 bytes are put into the first 8K filesystem block,
841.16Stsutsui# around the disklabel)
851.16Stsutsui
861.16Stsutsui${BOOT}: ${MDEC}/${BOOT}
871.16Stsutsui	rm -f ${BOOT}
881.16Stsutsui	cp ${MDEC}/${BOOT} ${BOOT}
891.16Stsutsui
901.16Stsutsuirelease: check_RELEASEDIR
911.16Stsutsui	-mkdir -p ${RELEASEDIR}/installation/floppy
921.19Slukem	${RELINSTALL} ${BASENAME}?.fs ${RELEASEDIR}/installation/floppy
931.1Stsubai
941.2Slukemclean cleandir distclean:
951.18Stsutsui	rm -f *.core ${CLEANFILES} ${BASENAME}?.fs ${IMAGE1}.tmp
961.16Stsutsui	rm -rf empty
971.1Stsubai
981.1Stsubai.include <bsd.obj.mk>
991.16Stsutsui.include <bsd.subdir.mk>
100