Makefile revision 1.16
11.16Stsutsui# $NetBSD: Makefile,v 1.16 2002/03/30 07:45:33 tsutsui Exp $ 21.16Stsutsui 31.16Stsutsui.include <bsd.own.mk> 41.16Stsutsui.include <bsd.kernobj.mk> 51.1Stsubai 61.1StsubaiTOP= ${.CURDIR}/.. 71.1Stsubai 81.1Stsubai.include "${TOP}/Makefile.inc" 91.1Stsubai 101.1StsubaiIMAGE= boot.fs 111.16StsutsuiDISKSIZE= 2880 121.16StsutsuiFSTMP= ustar.tmp 131.1StsubaiMDEC= ${DESTDIR}/usr/mdec 141.16StsutsuiBOOT= ofwboot 151.1Stsubai 161.14StvKERNDIR!= cd ${.CURDIR}/../md-kernel && ${PRINTOBJDIR} 171.16StsutsuiKERN= ${KERNDIR}/netbsd.INSTALL.gz 181.16Stsutsui 191.16StsutsuiCLEANFILES+= netbsd ${BOOT} ${FSTMP} 201.16Stsutsui 211.1Stsubai 221.1StsubaiDISKTYPE= floppy 231.1Stsubai 241.16Stsutsuirealall: netbsd ${BOOT} 251.16Stsutsui ${PAX} -wvf ${FSTMP} ${BOOT} netbsd 261.16Stsutsui @echo 271.16Stsutsui @echo Making disk number one 281.16Stsutsui rm -rf empty 291.16Stsutsui mkdir -m 755 empty 301.16Stsutsui ${MAKEFS} -s ${DISKSIZE}b ${IMAGE}.tmp empty 311.16Stsutsui dd bs=8k seek=1 count=$$((${DISKSIZE} / 16 - 1)) \ 321.16Stsutsui if=${FSTMP} of=${IMAGE}.tmp 331.1Stsubai @echo "installing new bootblocks" 341.16Stsutsui ${MDEC}/installboot -v -b 17 ${BOOT} ${MDEC}/bootxx ${IMAGE}.tmp 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.16Stsutsui bytes=$$(($$size - $$dksize)); \ 401.16Stsutsui echo "Image is $$bytes ($$(($$bytes / 1024))K) too big\ 411.16Stsutsui to fit on one disk."; \ 421.16Stsutsui exit 1; \ 431.16Stsutsui else \ 441.16Stsutsui dd seek=$$(($${size} / 512 + 15)) count=1 \ 451.16Stsutsui if=/dev/zero of=${IMAGE}.tmp; \ 461.16Stsutsui fi; \ 471.16Stsutsui echo; \ 481.16Stsutsui bytes=$$(($$dksize * $$disks - $$size)); \ 491.16Stsutsui if test "${PAD}" = "yes"; then \ 501.16Stsutsui size=$$(($$size + 8 * 1024)); \ 511.16Stsutsui echo "Padding image with $$bytes bytes from $$size"; \ 521.16Stsutsui sectors=$$(($$bytes / 512)); \ 531.16Stsutsui ssize=$$(($$size / 512)); \ 541.16Stsutsui dd if=/dev/zero bs=512 seek=$${ssize} of=${IMAGE}.tmp \ 551.16Stsutsui count=$${sectors}; \ 561.16Stsutsui else \ 571.16Stsutsui echo "There are $$bytes ($$(($$bytes / 1024))K) bytes\ 581.16Stsutsui free on disk $$disks."; \ 591.16Stsutsui fi; \ 601.16Stsutsui ) 611.16Stsutsui mv -f ${IMAGE}.tmp ${IMAGE} 621.16Stsutsui 631.16Stsutsui# Let the kernel on the diskette be called "netbsd" although 641.16Stsutsui# it is compressed. This is because the boot code will search 651.16Stsutsui# for "netbsd" first, and calling it "netbsd" instead of "netbsd.gz" 661.16Stsutsui# we avoid scanning all the diskettes before reading the file. 671.16Stsutsui 681.16Stsutsuinetbsd: ${KERN} 691.16Stsutsui rm -f netbsd 701.16Stsutsui cp ${KERN} netbsd 711.16Stsutsui 721.16Stsutsui# This is "cheating", just so that we have the available 731.16Stsutsui# space at the start of the tar file. Installboot will overwrite 741.16Stsutsui# the start of the bootcode with the tail end of the "real", aligned 751.16Stsutsui# second-stage boot loader when it is run (which is quite a bit shorter 761.16Stsutsui# than the entire ${BOOTCODE} file, even when symbols are removed. 771.16Stsutsui# (the first 15*512 bytes are put into the first 8K filesystem block, 781.16Stsutsui# around the disklabel) 791.16Stsutsui 801.16Stsutsui${BOOT}: ${MDEC}/${BOOT} 811.16Stsutsui rm -f ${BOOT} 821.16Stsutsui cp ${MDEC}/${BOOT} ${BOOT} 831.16Stsutsui 841.16Stsutsuirelease: check_RELEASEDIR 851.16Stsutsui -mkdir -p ${RELEASEDIR}/installation/floppy 861.16Stsutsui cp -p ${IMAGE} ${RELEASEDIR}/installation/floppy 871.1Stsubai 881.2Slukemclean cleandir distclean: 891.16Stsutsui rm -f *.core ${CLEANFILES} ${IMAGE} ${IMAGE}.tmp 901.16Stsutsui rm -rf empty 911.1Stsubai 921.1Stsubai.include <bsd.obj.mk> 931.16Stsutsui.include <bsd.subdir.mk> 94