Makefile revision 48893
1171802Sdelphij# $Id: Makefile,v 1.497 1999/07/18 02:20:55 jkh Exp $ 2170808Sdelphij# 3182739Sdelphij# make release CHROOTDIR=/some/dir BUILDNAME=somename [ RELEASETAG=tag ] 4171802Sdelphij# 5170808Sdelphij# Where "/some/dir" is the pathname of a directory on a some 6170808Sdelphij# filesystem with at least 1000MB of free space, "somename" is what 7170808Sdelphij# you want the release to call itself and, optionally, which CVS "tag" 8170808Sdelphij# name should be used when checking out the sources to build the release 9170808Sdelphij# (default is HEAD). 10170808Sdelphij# 11170808Sdelphij# Please note: the vn driver must also be compiled into your kernel, 12170808Sdelphij# otherwise the target 'release.8' and possibly others will fail. 13170808Sdelphij# 14170808Sdelphij# Set these, release builder! 15170808Sdelphij# 16170808Sdelphij# Fixed version: 17170808Sdelphij#BUILDNAME=4.0-RELEASE 18170808Sdelphij# 19170808Sdelphij# Automatic SNAP versioning: 20170808SdelphijDATE != date +%Y%m%d 21170808SdelphijBASE = 4.0 22170808SdelphijBUILDNAME?=${BASE}-${DATE}-SNAP 23170808Sdelphij# 24170808Sdelphij#CHROOTDIR=/junk/release 25170808Sdelphij# If this is a -stable snapshot, then set 26170808Sdelphij#RELEASETAG=RELENG_3 27170808Sdelphij 28170808SdelphijPCCARD?=NO 29170808Sdelphij 30170808Sdelphij.if ${PCCARD} == "YES" 31170808SdelphijCARDDEV=card0 card1 card2 card3 32170808SdelphijKERNCONF=PCCARD 33170808Sdelphij.else 34170808SdelphijCARDDEV= 35170808SdelphijKERNCONF=GENERIC 36170808Sdelphij.endif 37170808Sdelphij 38170808Sdelphij 39170808Sdelphij# If you are using a local CVS repository with components stored in 40170808Sdelphij# non-standard modules, override these on the make commandline or 41170808Sdelphij# in the environment. 42170808SdelphijRELEASESRCMODULE?= src 43170808SdelphijRELEASEDOCMODULE?= doc 44170808SdelphijRELEASEPORTSMODULE?= ports 45197850Sdelphij 46197850Sdelphij# Unless set elsewhere, indicate the object format we'll be using. 47170808SdelphijOBJFORMAT?= elf 48170808Sdelphij 49170808Sdelphij# Uncomment this to disable the doc.1 target. It is also an ERROR 50170808Sdelphij# to set NOPORTS and not set NODOC since docs depend on ports. 51170808Sdelphij#NODOC= YES 52170808Sdelphij#NOPORTS= YES 53170808Sdelphij# Comment the following if you want the release documentation to be 54170808Sdelphij# in English only. 55170808SdelphijALLLANG= yes 56188929SalcDOCPORTS= textproc/docproj 57170808Sdelphij# Set this to wherever the distfiles required by ${DOCPORTS} live. 58170808SdelphijDISTFILES?= ${.CURDIR}/../../ports/distfiles 59170808Sdelphij 60170808SdelphijDIST_DOCS= ABOUT.TXT ERRATA.TXT LAYOUT.TXT README.TXT HARDWARE.TXT \ 61170808Sdelphij RELNOTES.TXT TROUBLE.TXT UPGRADE.TXT 62170808Sdelphij 63170808Sdelphij# Things which without too much trouble can be considered variables 64170808Sdelphij# BIN_DISTS are special in that they get full /etc installation sets. 65171069Sdelphij# 66170808SdelphijCOMPAT_DISTS?= compat1x compat20 compat21 compat22 compat3x 67170808SdelphijOTHER_DISTS?= manpages catpages games proflibs dict info doc 68170808SdelphijCRYPTO_DISTS?= krb des 69170808SdelphijBIN_DISTS?= bin 70170808SdelphijDISTRIBUTIONS?= ${BIN_DISTS} ${OTHER_DISTS} ${COMPAT_DISTS} ${CRYPTO_DISTS} 71170808SdelphijKERNELS?= GENERIC 72170808Sdelphij 73170808Sdelphij# Extra source tarballs; each argument is a pair of source dir and 74170808Sdelphij# distribution name. The dist name should not exceed 7 characters 75170808Sdelphij# (another "s" for "source" will be prepended). 76170808SdelphijEXTRA_SRC+= usr.sbin/sendmail/cf smailcf 77170808Sdelphij 78170808SdelphijBOOT1= etc/protocols etc/defaults/rc.conf 79170808Sdelphij 80191990Sattilio# mountpoint for filesystems. 81170808SdelphijMNT= /mnt 82170808Sdelphij 83170808Sdelphij# Various floppy image parameters. 84170808Sdelphij# 85170808SdelphijBOOTSIZE= 1440 86170808SdelphijFIXITSIZE= 1440 87170808SdelphijMFSSIZE= 2880 88170808SdelphijBIGBOOTSIZE= 2880 89197953SdelphijBOOTINODE= 80000 90197953SdelphijMFSINODE= 8000 91197953SdelphijFIXITINODE= 2000 92197953SdelphijBOOTLABEL= fd1440 93197953SdelphijFIXITLABEL= fd1440 94170808SdelphijBIGBOOTLABEL= minimum2 95171799SdelphijMFSLABEL= minimum2 96171799Sdelphij 97176559Sattilio# overrides. 98171802Sdelphij.if ${MACHINE_ARCH} == "alpha" 99175294SattilioFIXITSIZE= 2880 100170808SdelphijFIXITLABEL= minimum2 101171799Sdelphij.endif 102191990Sattilio 103170808SdelphijZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - 104175202Sattilio 105171802Sdelphij 106170808SdelphijVNDEVICE?= vn0 107170808Sdelphij 108170808Sdelphij# Things which may get you into trouble if you change them 109170808SdelphijMTREEFILES= ${.CURDIR}/../etc/mtree 110170808SdelphijRD= /R/stage 111188318SkibFD= /R/ftp 112211598SedCD= /R/cdrom 113211598SedCD_DISC1= ${CD}/disc1 114211598SedCD_DISC2= ${CD}/disc2 115170808Sdelphij 116170808Sdelphij# Where the bootstrap ports (see DOCPORTS) get installed. 117170808SdelphijLOCALDIR= /usr/local/bin 118170808Sdelphij 119170808Sdelphij# ${BOOTSTRAPDIR} is for those utilities that refer to the hosting 120170808Sdelphij# environment, rather than the target environment. This is specifically 121211598Sed# intended for kernel-dependent utilities that are used during the build. 122211598Sed# 123211598Sed# ${BOOTSTRAPDIR} is actually being used by prepending it to the normal 124211598Sed# ${PATH}. Thus, it's also available to outside utilities like doFS.sh. 125170808SdelphijBOOTSTRAPDIR= /bootstrap 126170808Sdelphij# 127170808Sdelphij# The mount subsystem has been changed between 2.2 and 3.0 by the 128170808Sdelphij# Lite2 import. 129170808SdelphijBOOTSTRAPUTILS= /sbin/mount /sbin/umount 130170808Sdelphij# 131170808Sdelphij# 3.0 cpio tries to reference lchown(2) which is not available in 2.2 132170808SdelphijBOOTSTRAPUTILS+= /usr/bin/cpio 133170808Sdelphij 134170808Sdelphij.if !defined(CRUNCH_TARGETS) 135170808SdelphijCRUNCH_TARGETS= boot fixit 136170808Sdelphij.endif 137170808Sdelphij 138170808Sdelphij.if ${MACHINE_ARCH} == "i386" 139170808Sdelphij# Make both PC-card boot.flp and plain boot.flp 140170808SdelphijEXTRAS= floppies cdrom.1 ftp.1 141170808Sdelphij.else 142170808SdelphijEXTRAS= cdrom.1 ftp.1 143170808Sdelphij.endif 144170808Sdelphij 145170808Sdelphij.if !defined(NODOC) 146170808SdelphijDOCREL= doc.1 147170808Sdelphij.endif 148170808Sdelphij 149170808Sdelphijrerelease release: 150170808Sdelphij.if !defined(CHROOTDIR) || !defined(BUILDNAME) || !defined(CVSROOT) 151170808Sdelphij @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false 152170808Sdelphij.endif 153170808Sdelphij.if make(release) 154170808Sdelphij.if exists(${CHROOTDIR}) 155170808Sdelphij# The first command will fail on a handful of files that have their schg 156170808Sdelphij# flags set. But it greatly speeds up the next two commands. 157170808Sdelphij -rm -rf ${CHROOTDIR} 158170808Sdelphij -chflags -R noschg ${CHROOTDIR}/. 159170808Sdelphij -rm -rf ${CHROOTDIR} 160170808Sdelphij.endif 161170808Sdelphij -mkdir -p ${CHROOTDIR} 162170808Sdelphij cd ${.CURDIR}/../etc && ${MAKE} distrib-dirs DESTDIR=${CHROOTDIR} 163170808Sdelphij cd ${.CURDIR}/../etc && ${MAKE} distribution DESTDIR=${CHROOTDIR} 164170808Sdelphij if [ -f /etc/resolv.conf ]; then \ 165171070Sdelphij cp -p /etc/resolv.conf ${CHROOTDIR}/etc; \ 166170808Sdelphij fi 167171799Sdelphij cd ${.CURDIR}/.. && ${MAKE} installworld DESTDIR=${CHROOTDIR} NOMAN=1 168191990Sattilio mkdir ${CHROOTDIR}/${BOOTSTRAPDIR} 169170808Sdelphij for i in ${BOOTSTRAPUTILS} ; do \ 170170808Sdelphij cp -p ${CHROOTDIR}$$i ${CHROOTDIR}/${BOOTSTRAPDIR} ; \ 171170808Sdelphij done 172170808Sdelphij.if !defined(RELEASETAG) 173170808Sdelphij cd ${CHROOTDIR}/usr && rm -rf src && \ 174170808Sdelphij cvs -R -d ${CVSROOT} co -P ${RELEASESRCMODULE} 175170808Sdelphij.else 176170808Sdelphij cd ${CHROOTDIR}/usr && rm -rf src && \ 177170808Sdelphij cvs -R -d ${CVSROOT} co -P -r ${RELEASETAG} ${RELEASESRCMODULE} 178170808Sdelphij.endif 179171070Sdelphij.if defined(LOCAL_PATCHES) && exists(${LOCAL_PATCHES}) 180170808Sdelphij cd ${CHROOTDIR}/usr/src && patch --silent < ${LOCAL_PATCHES} 181171799Sdelphij.endif 182171799Sdelphij.if defined(LOCAL_SCRIPT) && exists(${LOCAL_SCRIPT}) 183191990Sattilio cd ${CHROOTDIR} && env CHROOTDIR=${CHROOTDIR} BUILDNAME=${BUILDNAME} RELEASETAG=${RELEASETAG} ${LOCAL_SCRIPT} 184170808Sdelphij.endif 185170808Sdelphij.if !defined(NOPORTS) 186170808Sdelphij cd ${CHROOTDIR}/usr && rm -rf ports && cvs -R -d ${CVSROOT} co -P ${RELEASEPORTSMODULE} && cd ports && make readmes PORTSDIR=${CHROOTDIR}/usr/ports 187170808Sdelphij.endif 188170808Sdelphij.if !defined(NODOC) 189170808Sdelphij cd ${CHROOTDIR}/usr && rm -rf doc && cvs -R -d ${CVSROOT} co -P ${RELEASEDOCMODULE} 190170808Sdelphij if [ -d ${DISTFILES}/ ]; then \ 191170808Sdelphij cp -rp ${DISTFILES} ${CHROOTDIR}/usr/ports/distfiles; \ 192170808Sdelphij fi 193170808Sdelphij.endif 194170808Sdelphij.endif 195170808Sdelphij.if make(rerelease) 196170808Sdelphij.if !defined(RELEASENOUPDATE) 197176559Sattilio.if !defined(RELEASETAG) 198170808Sdelphij cd ${CHROOTDIR}/usr/src && cvs -R -q update -P -d 199170808Sdelphij.else 200170808Sdelphij cd ${CHROOTDIR}/usr/src && cvs -R -q update -P -d -r ${RELEASETAG} 201170808Sdelphij.endif 202170808Sdelphij.if !defined(NOPORTS) 203170808Sdelphij cd ${CHROOTDIR}/usr/ports && cvs -R -q update -P -d 204171069Sdelphij.endif 205170808Sdelphij.if !defined(NODOC) 206170808Sdelphij cd ${CHROOTDIR}/usr/doc && cvs -R -q update -P -d 207170808Sdelphij.endif 208170808Sdelphij.endif 209170808Sdelphij.endif 210170808Sdelphij # Add version information to those things that need it. 211170808Sdelphij ( cd ${CHROOTDIR}/usr/src/sys/conf && \ 212170808Sdelphij mv newvers.sh foo && \ 213170808Sdelphij sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh && rm foo ) 214170808Sdelphij echo OBJFORMAT=${OBJFORMAT} > ${CHROOTDIR}/etc/objformat 215170808Sdelphij -test -f install.cfg && cp install.cfg ${CHROOTDIR}/usr/src/release 216170808Sdelphij echo "#!/bin/sh" > ${CHROOTDIR}/mk 217170808Sdelphij echo "set -ex" >> ${CHROOTDIR}/mk 218171069Sdelphij echo "_RELTARGET=\$${1:-doRELEASE}" >> ${CHROOTDIR}/mk 219170808Sdelphij echo "export CFLAGS='-O -pipe'" >> ${CHROOTDIR}/mk 220170808Sdelphij echo "export DISTRIBUTIONS=\"${DISTRIBUTIONS}\"" >> ${CHROOTDIR}/mk 221170808Sdelphij echo "export BUILDNAME=${BUILDNAME}" >> ${CHROOTDIR}/mk 222170808Sdelphij echo "export VNDEVICE=${VNDEVICE}" >> ${CHROOTDIR}/mk 223170808Sdelphij echo "export OBJFORMAT=${OBJFORMAT}" >> ${CHROOTDIR}/mk 224170808Sdelphij.if defined(RELEASETAG) 225170808Sdelphij echo "export RELEASETAG=${RELEASETAG}" >> ${CHROOTDIR}/mk 226170808Sdelphij.endif 227170808Sdelphij.if defined(NOPORTS) 228170808Sdelphij echo "export NOPORTS=${NOPORTS}" >> ${CHROOTDIR}/mk 229170808Sdelphij.endif 230170808Sdelphij.if defined(NODOC) 231170808Sdelphij echo "export NODOC=${NODOC}" >> ${CHROOTDIR}/mk 232170808Sdelphij.endif 233170808Sdelphij.if defined(ALLLANG) 234170808Sdelphij echo "export ALLLANG=${ALLLANG}" >> ${CHROOTDIR}/mk 235171069Sdelphij.else 236170808Sdelphij echo "export DOC_LANG=en" >> ${CHROOTDIR}/mk 237170808Sdelphij.endif 238170808Sdelphij.if defined(NOSRC) 239170808Sdelphij echo "export NOSRC=${NOSRC}" >> ${CHROOTDIR}/mk 240170808Sdelphij.endif 241170808Sdelphij.if defined(NOSHARED) 242170808Sdelphij echo "export NOSHARED=${NOSHARED}" >> ${CHROOTDIR}/mk 243170808Sdelphij.endif 244176559Sattilio.if defined(BOOT_CONFIG) 245170808Sdelphij echo "export BOOT_CONFIG=\"${BOOT_CONFIG}\"">> ${CHROOTDIR}/mk 246170808Sdelphij.endif 247171070Sdelphij # Don't remove this, or the build will fall over! 248170808Sdelphij echo "export RELEASEDIR=/R" >> ${CHROOTDIR}/mk 249170808Sdelphij echo "export PATH=${BOOTSTRAPDIR}:$${PATH}:${LOCALDIR}" >> ${CHROOTDIR}/mk 250170808Sdelphij echo "if [ ! -f /tmp/.world_done ]; then" >> ${CHROOTDIR}/mk 251170808Sdelphij echo " cd /usr/src" >> ${CHROOTDIR}/mk 252170808Sdelphij.if make(release) 253170808Sdelphij echo " (cd etc; make distrib-dirs distribution)" >> ${CHROOTDIR}/mk 254170808Sdelphij echo " make world" >> ${CHROOTDIR}/mk 255170808Sdelphij.endif 256170808Sdelphij.if make(rerelease) 257170808Sdelphij echo " make all install" >> ${CHROOTDIR}/mk 258170808Sdelphij.endif 259171070Sdelphij echo " touch /tmp/.world_done" >> ${CHROOTDIR}/mk 260170808Sdelphij echo "fi" >> ${CHROOTDIR}/mk 261170808Sdelphij echo "cd /usr/src/release/sysinstall" >> ${CHROOTDIR}/mk 262176559Sattilio echo "make obj" >> ${CHROOTDIR}/mk 263170808Sdelphij echo "cd /usr/src/release" >> ${CHROOTDIR}/mk 264170808Sdelphij echo "make \$${_RELTARGET}" >> ${CHROOTDIR}/mk 265170808Sdelphij echo "echo make ${.TARGET} Finished" >> ${CHROOTDIR}/mk 266170808Sdelphij chmod 755 ${CHROOTDIR}/mk 267170808Sdelphij chroot ${CHROOTDIR} /mk 268171069Sdelphij 269170808Sdelphijclean: 270170808Sdelphij rm -rf boot_crunch ${.OBJDIR}/boot_crunch.conf release.[0-9] 271170808Sdelphij 272170808Sdelphij# Clean out /R and make the directory structure. 273176559Sattiliorelease.1: 274170808Sdelphij -mkdir /R 275218949Salc -chflags -R noschg /R/. 276218949Salc rm -rf /R/* 277170808Sdelphij mkdir ${RD} 278218949Salc mkdir ${RD}/floppies 279170808Sdelphij.if ${MACHINE_ARCH} == "i386" 280170808Sdelphij mkdir ${RD}/floppies/pccard 281170808Sdelphij.endif 282170808Sdelphij mkdir ${RD}/trees 283170808Sdelphij mkdir ${RD}/dists 284170808Sdelphij mkdir ${RD}/kernels 285170808Sdelphij for i in ${DISTRIBUTIONS} ; do \ 286170808Sdelphij mkdir ${RD}/trees/$$i && \ 287184413Strasz mkdir ${RD}/dists/$$i && \ 288170808Sdelphij mtree -deU -f ${MTREEFILES}/BSD.root.dist \ 289170808Sdelphij -p ${RD}/trees/$$i > /dev/null && \ 290170808Sdelphij mtree -deU -f ${MTREEFILES}/BSD.usr.dist \ 291170808Sdelphij -p ${RD}/trees/$$i/usr > /dev/null && \ 292170808Sdelphij mtree -deU -f ${MTREEFILES}/BSD.include.dist \ 293176559Sattilio -p ${RD}/trees/$$i/usr/include > /dev/null && \ 294170808Sdelphij mtree -deU -f ${MTREEFILES}/BSD.var.dist \ 295170808Sdelphij -p ${RD}/trees/$$i/var > /dev/null ; \ 296170808Sdelphij done 297170808Sdelphij touch release.1 298170808Sdelphij 299170808Sdelphij# Install the system into the various distributions. 300170808Sdelphijrelease.2: 301170808Sdelphij cd ${.CURDIR}/../etc && make distrib-dirs DESTDIR=${RD}/trees/bin 302170808Sdelphij cd ${.CURDIR}/.. && make distribute DISTDIR=${RD}/trees 303184413Strasz.if exists(${.CURDIR}/../kerberosIV) && exists(${.CURDIR}/../crypto) && !defined(NOKERBEROS) 304170808Sdelphij cd ${.CURDIR}/../kerberosIV && ( \ 305170808Sdelphij make bootstrap &&\ 306170808Sdelphij make obj all help-distribute DISTDIR=${RD}/trees &&\ 307170808Sdelphij make kprog \ 308170808Sdelphij ) 309170808Sdelphij.endif 310170808Sdelphij -chflags -R noschg ${RD}/trees 311170808Sdelphij touch release.2 312170808Sdelphij 313170808Sdelphij# Make and install the generic kernel(s). 314170808Sdelphijrelease.3: 315170808Sdelphij.for kernel in ${KERNELS} 316170808Sdelphij rm -f ${RD}/kernels/${kernel} 317170808Sdelphij rm -rf ${.CURDIR}/../sys/compile/${kernel} 318170808Sdelphij cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=${kernel} 319170808Sdelphij rm -rf ${.CURDIR}/../sys/compile/${kernel} 320170808Sdelphij ln -f ${RD}/kernels/${kernel} ${RD}/trees/bin/kernel.${kernel} 321170808Sdelphij.endfor 322170808Sdelphij touch release.3 323184413Strasz 324170808Sdelphij# Make and install the three crunched binaries which live on the floppies. 325170808Sdelphij# You are not supposed to like this :-) 326170808Sdelphij# 327170808Sdelphij# NB: the "RELEASE_BUILD_FIXIT" magic prevents vi from including the 328170808Sdelphij# Tcl and Perl APIs. See also /usr/src/usr.bin/vi/Makefile. 329184413Straszrelease.4: 330170808Sdelphij @mkdir -p /stand 331170808Sdelphij.if ${PCCARD} == "YES" 332176559Sattilio cp ${.CURDIR}/boot_crunch.conf.pccard ${.OBJDIR}/boot_crunch.conf 333170808Sdelphij.else 334170808Sdelphij cp ${.CURDIR}/boot_crunch.conf.generic ${.OBJDIR}/boot_crunch.conf 335170808Sdelphij.endif 336170808Sdelphij cd ${.CURDIR}/sysinstall && make obj depend all install 337170808Sdelphij rm -rf ${RD}/crunch 338170808Sdelphij mkdir -p ${RD}/crunch 339170808Sdelphij export RELEASE_BUILD_FIXIT=noway ; \ 340170808Sdelphij for j in ${CRUNCH_TARGETS} ; do \ 341170808Sdelphij rm -rf $${j}_crunch && \ 342170808Sdelphij mkdir $${j}_crunch && \ 343170808Sdelphij ( cd $${j}_crunch && \ 344170808Sdelphij ( ( [ -f ${.CURDIR}/$${j}_crunch.conf ] && \ 345170808Sdelphij crunchgen ${.CURDIR}/$${j}_crunch.conf ) || \ 346170808Sdelphij ( [ -f ${.OBJDIR}/$${j}_crunch.conf ] && \ 347170808Sdelphij crunchgen ${.OBJDIR}/$${j}_crunch.conf ) ) && \ 348170808Sdelphij ${MAKE} -DRELEASE_CRUNCH -f $${j}_crunch.mk subclean all \ 349170808Sdelphij NOCRYPT=yes "CFLAGS=${CFLAGS} -DCRUNCHED_BINARY") && \ 350170808Sdelphij mv $${j}_crunch/$${j}_crunch ${RD}/crunch/$${j} && \ 351170808Sdelphij true || { rm -rf $${j}_crunch ; false ; } ; \ 352170808Sdelphij done 353170808Sdelphij touch release.4 354170808Sdelphij 355170808Sdelphij# 356170808Sdelphij# --==## Fix up the distributions. ##==-- 357170808Sdelphij# 358170808Sdelphijrelease.5: 359170808Sdelphij # Handle some grief caused by the munition braindeadness. 360170808Sdelphij for i in sbin/init bin/ed usr.sbin/ppp usr.sbin/pppd ; do \ 361170808Sdelphij ( cd ${.CURDIR}/../$$i; \ 362170808Sdelphij make -DNOCRYPT clean all distribute DISTDIR=${RD}/trees ) ; \ 363170808Sdelphij done 364170808Sdelphij 365170808Sdelphij # Create any "synthetic dists" now. 366170808Sdelphij @for i in ${DISTRIBUTIONS}; do \ 367183214Skib if [ -f ${.CURDIR}/scripts/$${i}-make.sh ]; then \ 368170808Sdelphij echo -n "Running $$i dist creation script... "; \ 369183212Skib env OBJFORMAT=${OBJFORMAT} RD=${RD} sh ${.CURDIR}/scripts/$${i}-make.sh || echo "$$i distribution script returned bad status."; \ 370170808Sdelphij echo "Done."; \ 371170808Sdelphij fi \ 372170808Sdelphij done \ 373170808Sdelphij 374170808Sdelphij # Create symlinks for the MD5-based crypt lib, too. The 375170808Sdelphij # automatically created links still point to the DES stuff, 376170808Sdelphij # which went into its own distribution. 377170808Sdelphij for i in ${RD}/trees/bin/usr/lib/libscrypt* ; do \ 378170808Sdelphij c=`echo $$i | sed -e 's/libscrypt/libcrypt/'` ; \ 379170808Sdelphij rm -f $$c ; \ 380170808Sdelphij ln -s `basename $$i` $$c ; \ 381170808Sdelphij done 382170808Sdelphij 383170808Sdelphij # Remove all the directories we don't need. 384182371Sattilio -cd ${RD}/trees && \ 385170808Sdelphij find ${OTHER_DISTS} ${COMPAT_DISTS} ${CRYPTO_DISTS} -depth -type d -print | xargs rmdir 386170808Sdelphij touch release.5 387170808Sdelphij 388176559Sattilio# 389170808Sdelphij# --==## Package up the tarballs from assembled trees ##==-- 390170808Sdelphij# 391170808Sdelphijrelease.6: 392170808Sdelphij rm -rf ${RD}/dists 393170808Sdelphij mkdir -p ${RD}/dists 394170808Sdelphij @for i in ${DISTRIBUTIONS} ; \ 395170808Sdelphij do \ 396170808Sdelphij if [ -d ${RD}/trees/$${i} ] ; then \ 397170808Sdelphij cd ${.CURDIR} && $(MAKE) doTARBALL \ 398170808Sdelphij SD=${RD}/trees/$${i} \ 399170808Sdelphij TN=$$i TD=$$i ARG="." && \ 400170808Sdelphij echo "$${i} distribution is finished."; \ 401170808Sdelphij fi ; \ 402170808Sdelphij done 403170808Sdelphij # More munition braindeadness. 404182371Sattilio ( cd ${RD}/dists && \ 405170808Sdelphij if [ -f krb/krb.aa ] ; then mv krb/* des && rmdir krb ; fi ) 406170808Sdelphij touch release.6 407182371Sattilio 408170808Sdelphij 409170808Sdelphij# 410182371Sattilio# --==## Make source dists ##==-- 411170808Sdelphij# 412170808Sdelphijrelease.7: 413182371Sattilio.if !defined(NOSRC) 414170808Sdelphij @cd ${.CURDIR} && $(MAKE) doTARBALL SD=/usr/src \ 415170808Sdelphij TD=src TN=sbase ARG="[A-Z]*" 416170808Sdelphij @for i in `cd /usr/src && echo [a-z]*` ; do \ 417170808Sdelphij if [ -d /usr/src/$$i ] ; then \ 418170808Sdelphij cd ${.CURDIR} && $(MAKE) doTARBALL \ 419170808Sdelphij TN=`echo s$$i | tr -d '.' | sed 's/usr/u/'` \ 420170808Sdelphij SD=/usr/src TD=src ARG="$$i" ; \ 421171070Sdelphij fi ; \ 422182371Sattilio done 423170808Sdelphij.if defined(EXTRA_SRC) 424170808Sdelphij @set ${EXTRA_SRC} && \ 425170808Sdelphij while [ $$# -ge 2 ] ; do \ 426170808Sdelphij if [ -d /usr/src/$$1 ] ; then \ 427170808Sdelphij cd ${.CURDIR} && $(MAKE) doTARBALL \ 428170808Sdelphij SD=/usr/src TN="s$$2" TD=src ARG="$$1" ; \ 429176559Sattilio fi && shift && shift ; \ 430170808Sdelphij done 431170808Sdelphij.endif 432170808Sdelphij.if exists(${RD}/dists/des) 433170808Sdelphij ( cd ${RD}/dists/src && \ 434170808Sdelphij if [ -f ssecure.aa ] ; then mv ssecure.* ../des ; fi && \ 435197850Sdelphij if [ -f scrypto.aa ] ; then mv scrypto.* ../des ; fi && \ 436197850Sdelphij if [ -f skerbero.aa ] ; then mv skerbero.* ../des ; fi ; ) 437197850Sdelphij.endif 438197850Sdelphij @echo "src distribution is finished." 439197850Sdelphij.endif 440197850Sdelphij touch release.7 441171489Sdelphij 442197850Sdelphij# Complete the bootfd 443197850Sdelphij# 444197850Sdelphij# Now, just to get this picture down once and for all: 445231775Salc# 446197850Sdelphij# +------------------------------------------------------------------------+ 447197850Sdelphij# |boot.flp | 448197850Sdelphij# +-----+-----+------------------------------------------------------------+ 449197850Sdelphij# |boot1|boot2|floppy filesystem "bootfd" | 450197850Sdelphij# +-----+-----+-+--------------------------------------------------------+-+ 451197850Sdelphij# |kernel | 452197850Sdelphij# +------------+-----------------------------------------+-+ 453197850Sdelphij# |mfs filesystem "mfsfd" | 454197850Sdelphij# +-----------------------------------------+ 455197850Sdelphij# 456197850Sdelphij 457197850Sdelphijrelease.8: write_mfs_in_kernel 458197850Sdelphij rm -rf ${RD}/mfsfd 459197850Sdelphij mkdir ${RD}/mfsfd 460207573Salc cd ${RD}/mfsfd && \ 461197850Sdelphij mkdir -p etc dev mnt stand/help 462207573Salc @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=boot \ 463197850Sdelphij DIR=${RD}/mfsfd/stand ZIP=false 464197850Sdelphij ( cd ${RD}/trees/bin/dev && \ 465197850Sdelphij ls console tty ttyv0 ttyv1 ttyv2 ttyv3 null zero ${CARDDEV} | \ 466197850Sdelphij cpio -dump ${RD}/mfsfd/dev ) 467197850Sdelphij ( cd ${RD}/mfsfd/dev && rm -f *[swo]d*[bdefgh] ) 468197850Sdelphij ( cd ${RD}/mfsfd && mkdir -p bin sbin && ln -s /stand/sh bin/sh ) 469197850Sdelphij cp /sbin/dhclient-script ${RD}/mfsfd/sbin 470197850Sdelphij.if ${PCCARD} == "YES" 471197850Sdelphij cp ${.CURDIR}/../etc/pccard.conf.sample ${RD}/mfsfd/etc/pccard.conf 472197850Sdelphij.endif 473197850Sdelphij cd ${RD}/trees/bin && ls ${BOOT1} | cpio -dump ${RD}/mfsfd/stand 474197850Sdelphij echo "nameserver 42/tcp name" > ${RD}/mfsfd/stand/etc/services 475197850Sdelphij echo "ftp 21/tcp" >> ${RD}/mfsfd/stand/etc/services 476197850Sdelphij echo "domain 53/tcp nameserver" >> ${RD}/mfsfd/stand/etc/services 477197850Sdelphij echo "domain 53/udp nameserver" >> ${RD}/mfsfd/stand/etc/services 478197850Sdelphij echo "cmd 514/tcp shell" >> ${RD}/mfsfd/stand/etc/services 479197850Sdelphij gzip -9c ${.CURDIR}/../COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp.gz 480197850Sdelphij for i in README.TXT RELNOTES.TXT UPGRADE.TXT HARDWARE.TXT; do \ 481197850Sdelphij gzip -9c ${.CURDIR}/texts/$${i} > ${RD}/mfsfd/stand/help/$${i}.gz; done 482197850Sdelphij -test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd 483197850Sdelphij @mkdir -p ${RD}/mfsfd/boot 484197850Sdelphij @cp /boot/boot* ${RD}/mfsfd/boot 485197850Sdelphij @echo "Making the regular boot floppy." 486197850Sdelphij @tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \ 487197850Sdelphij tar xf - -C ${RD}/mfsfd/stand 488197850Sdelphij @echo "Compressing doc files..." 489197850Sdelphij @gzip -9 ${RD}/mfsfd/stand/help/*.hlp 490197850Sdelphij sh -e ${.CURDIR}/scripts/doFS.sh -s mfsroot ${RD} ${MNT} \ 491170808Sdelphij ${MFSSIZE} ${RD}/mfsfd ${MFSINODE} ${MFSLABEL} 492171489Sdelphij @gzip -9vc mfsroot > mfsroot.gz 493170808Sdelphij @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/mfsroot.flp \ 494197850Sdelphij ${RD} ${MNT} ${BOOTSIZE} mfsroot.gz ${BOOTINODE} ${BOOTLABEL} 495171489Sdelphij @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=kern 496171489Sdelphij @cd ${.CURDIR} && ${MAKE} doMFSKERN FSIMAGE=boot BIGBOOT=YES 497188929Salc @rm mfsroot mfsroot.gz mfsroot.size 498188929Salc @echo "Regular and MFS boot floppies made." 499171489Sdelphij touch release.8 500197850Sdelphij 501171489Sdelphij# 502170808Sdelphij# --==## Create a fixit floppy ##==-- 503171489Sdelphij# 504171489Sdelphijrelease.9: 505171489Sdelphij @echo "Making fixit floppy." 506171489Sdelphij @rm -rf ${RD}/fixitfd 507170808Sdelphij @mkdir ${RD}/fixitfd 508197740Sdelphij @cd ${RD}/fixitfd && \ 509197740Sdelphij mkdir -p dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp \ 510171489Sdelphij usr/share/misc 511170808Sdelphij @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=fixit \ 512171489Sdelphij DIR=${RD}/fixitfd/stand ZIP=false 513171489Sdelphij @( cd ${RD}/fixitfd/dev && \ 514171489Sdelphij sed -e '/^PATH/s/^/#/' ${RD}/trees/bin/dev/MAKEDEV > MAKEDEV && \ 515171489Sdelphij chmod 755 MAKEDEV && \ 516207530Salc sh MAKEDEV all ) 517207530Salc @cp ${RD}/trees/bin/etc/spwd.db ${RD}/trees/bin/etc/group \ 518207530Salc ${RD}/trees/bin/etc/protocols ${RD}/fixitfd/etc 519207530Salc @cp ${RD}/trees/bin/usr/share/misc/scsi_modes \ 520207530Salc ${RD}/fixitfd/usr/share/misc 521225418Skib @cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile 522207530Salc @cp ${.CURDIR}/fixit.services ${RD}/fixitfd/etc/services 523171489Sdelphij @cp ${.CURDIR}/scripts/tar.sh ${RD}/fixitfd/stand/tar 524207530Salc @chmod 555 ${RD}/fixitfd/stand/tar 525171489Sdelphij @sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/fixit.flp ${RD} \ 526171489Sdelphij ${MNT} ${FIXITSIZE} ${RD}/fixitfd ${FIXITINODE} ${FIXITLABEL} 527188929Salc# Do our last minute floppies directory setup in a convenient place. 528171489Sdelphij @cp ${.CURDIR}/texts/FLOPPIES.TXT ${RD}/floppies/README.TXT 529171489Sdelphij @(cd ${RD}/floppies; md5 README.TXT *.flp > CHECKSUM.MD5) 530171489Sdelphij.if ${MACHINE_ARCH} == "i386" 531171489Sdelphij @cp ${.CURDIR}/texts/PCCARD.TXT ${RD}/floppies/pccard/README.TXT 532197850Sdelphij @(cd ${RD}/floppies/pccard; md5 *.flp > CHECKSUM.MD5) 533213735Savg.endif 534213735Savg touch release.9 535207530Salc 536207530Salc# 537207530Salc# --==## Setup a suitable ftp-area ##==-- 538207530Salc# 539207530Salcftp.1: 540225418Skib @echo "Setting up FTP distribution area" 541207530Salc @mkdir -p ${FD} 542197850Sdelphij @cd ${RD} && find floppies -print | cpio -dumpl ${FD} 543207530Salc @cd ${RD}/dists && find . -print | cpio -dumpl ${FD} 544197850Sdelphij @for i in ${DIST_DOCS}; do if [ -f ${.CURDIR}/texts/${MACHINE_ARCH}/$$i ]; then cp ${.CURDIR}/texts/${MACHINE_ARCH}/$${i} ${FD}; else cp ${.CURDIR}/texts/$${i} ${FD}; fi; done 545197850Sdelphij @echo "CD_VERSION = ${BUILDNAME}" > ${FD}/cdrom.inf 546197850Sdelphij.if !defined(NOPORTS) 547197850Sdelphij @tar --exclude CVS -cBf - -C ${CD_DISC1} ports | tar -xBf - -C ${FD} 548197850Sdelphij.endif 549213735Savg 550197850Sdelphij# 551213735Savg# --==## Setup a suitable cdrom-area ##==-- 552213735Savg# 553197850Sdelphijcdrom.1: 554197850Sdelphij @echo "Setting up CDROM distribution area" 555197850Sdelphij @mkdir -p ${CD_DISC1} ${CD_DISC2} 556197850Sdelphij @cd ${RD} && find floppies -print | cpio -dumpl ${CD_DISC1} 557197850Sdelphij @cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DISC1} 558197850Sdelphij @ln -f ${RD}/kernels/MFSKERNEL.boot ${CD_DISC1}/kernel 559212650Savg @for i in ${DISTRIBUTIONS} ; \ 560213735Savg do \ 561197850Sdelphij if [ -d ${RD}/trees/$${i} ] ; then \ 562197850Sdelphij chflags -R noschg ${RD}/trees/$${i} || true ; \ 563197850Sdelphij ( cd ${RD}/trees/$${i} && \ 564171799Sdelphij find . -depth -print | cpio -dumpl ${CD_DISC2} ) ; \ 565171489Sdelphij fi \ 566171489Sdelphij done 567197850Sdelphij @rm -f ${CD_DISC2}/.profile 568171489Sdelphij @cp ${.CURDIR}/fixit.profile ${CD_DISC2}/.profile 569171489Sdelphij @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC1}/cdrom.inf 570170808Sdelphij @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf 571170808Sdelphij @for i in ${DIST_DOCS}; do cp ${.CURDIR}/texts/$${i} ${CD_DISC1}; done 572171069Sdelphij.if !defined(NOPORTS) 573170808Sdelphij @-rm -rf /usr/ports/distfiles/* 574170808Sdelphij @mkdir -p ${CD_DISC1}/ports && \ 575170808Sdelphij tar --exclude CVS -czf ${CD_DISC1}/ports/ports.tgz -C /usr ports && \ 576170808Sdelphij cp ${.CURDIR}/scripts/ports-install.sh ${CD_DISC1}/ports/install.sh \ 577170808Sdelphij && (cd ${CD_DISC1}/ports; md5 * > CHECKSUM.MD5) 578170808Sdelphij.endif 579170808Sdelphij 580171489Sdelphijdoc.1: 581171489Sdelphij @echo "Making docs..." 582170808Sdelphij @for i in ${DOCPORTS}; do \ 583174265Swkoszek cd /usr/ports/$$i && make all install clean JADETEX=no FORCE_PKG_REGISTER=yes; \ 584170808Sdelphij done 585170808Sdelphij @cd /usr/doc && make all distribute DISTDIR=${RD}/trees 586170808Sdelphij touch doc.1 587170808Sdelphij 588170808Sdelphij# Various "subroutine" and other supporting targets. 589170808Sdelphij 590170808SdelphijdoTARBALL: 591170808Sdelphij.if !defined(SD) 592170808Sdelphij @echo "SD undefined in doTARBALL" && exit 1 593170808Sdelphij.endif 594170808Sdelphij.if !defined(TD) 595170808Sdelphij @echo "TB undefined in doTARBALL" && exit 1 596170808Sdelphij.endif 597170808Sdelphij.if !defined(ARG) 598170808Sdelphij @echo "ARG undefined in doTARBALL" && exit 1 599170808Sdelphij.endif 600171489Sdelphij @rm -rf ${RD}/dists/${TD}/${TN}* 601171489Sdelphij @mkdir -p ${RD}/dists/${TD} 602171489Sdelphij @( cd ${SD} && \ 603171489Sdelphij tn=`echo ${TN} | tr '[A-Z]' '[a-z]' | cut -c1-8` && \ 604171489Sdelphij echo rolling ${TD}/$$tn tarball &&\ 605171489Sdelphij tar --exclude CVS --exclude obj --exclude BOOTMFS -cf - ${ARG} | \ 606171489Sdelphij ${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. && \ 607171489Sdelphij sh ${.CURDIR}/scripts/info.sh ${RD}/dists/${TD}/$$tn > \ 608171489Sdelphij ${RD}/dists/${TD}/$$tn.inf && \ 609171489Sdelphij if [ -f ${.CURDIR}/scripts/$${TD}-install.sh ]; then \ 610171489Sdelphij cp -p ${.CURDIR}/scripts/$${TD}-install.sh ${RD}/dists/${TD}/install.sh; \ 611170808Sdelphij fi && \ 612170808Sdelphij if [ "${SD}" != "/usr/src" ]; then \ 613170808Sdelphij mtree -c -i -p ${SD}/${ARG} \ 614170808Sdelphij -k gname,md5digest,mode,nlink,uname,size,link,type \ 615170808Sdelphij > ${RD}/dists/${TD}/$$tn.mtree ; \ 616170808Sdelphij else \ 617170808Sdelphij true; \ 618170808Sdelphij fi; \ 619171069Sdelphij (cd ${RD}/dists/${TD}; \ 620171489Sdelphij rm -f CHECKSUM.MD5; \ 621171489Sdelphij md5 * > CHECKSUM.MD5) \ 622171489Sdelphij ) 623171489Sdelphij 624188929SalcdoRELEASE: release.1 release.2 ${DOCREL} release.3 release.4 release.5 \ 625188929Salc release.6 release.7 release.8 release.9 626171489Sdelphij @cd ${.CURDIR} && ${MAKE} ${EXTRAS} 627171489Sdelphij @echo "Release done" 628171489Sdelphij 629174265Swkoszekfloppies: 630174265Swkoszek.if ${MACHINE_ARCH} == "i386" 631171489Sdelphij @cd ${.CURDIR} && ${MAKE} PCCARD=YES boot.flp 632171489Sdelphij mv ${RD}/floppies/boot.flp ${RD}/floppies/kern.flp \ 633171489Sdelphij ${RD}/floppies/mfsroot.flp ${RD}/floppies/pccard 634171489Sdelphij.endif 635171489Sdelphij @cd ${.CURDIR} && ${MAKE} boot.flp 636197740Sdelphij @cd ${.CURDIR} && ${MAKE} fixit.flp 637197740Sdelphij @cd ${RD} && find floppies -print | cpio -dumpl ${FD} 638171489Sdelphij 639171489Sdelphijboot.flp: 640171489Sdelphij @rm -f release.4 release.8 641171489Sdelphij @cd ${.CURDIR} && ${MAKE} release.4 release.8 CRUNCH_TARGETS=boot 642171489Sdelphij 643171489Sdelphijfixit.flp: 644171489Sdelphij @rm -f release.4 release.9 645171489Sdelphij @cd ${.CURDIR} && ${MAKE} release.4 release.9 CRUNCH_TARGETS=fixit 646207530Salc 647207530Salcwrite_mfs_in_kernel: ${.CURDIR}/write_mfs_in_kernel.c 648207530Salc ${CC} ${CFLAGS} -o write_mfs_in_kernel ${.CURDIR}/write_mfs_in_kernel.c 649207530Salc 650207530SalcinstallCRUNCH: 651225418Skib.if !defined(CRUNCH) 652207530Salc @echo "CRUNCH undefined in installCRUNCH" && exit 1 653171489Sdelphij.endif 654207530Salc.if !defined(DIR) 655171489Sdelphij @echo "DIR undefined in installCRUNCH" && exit 1 656171489Sdelphij.endif 657171489Sdelphij.if !defined(ZIP) 658188929Salc @echo "ZIP undefined in installCRUNCH" && exit 1 659171489Sdelphij.endif 660197740Sdelphij @if ${ZIP} ; then \ 661197740Sdelphij gzip -9 < ${RD}/crunch/${CRUNCH} > ${DIR}/${CRUNCH}_crunch ; \ 662171489Sdelphij else \ 663171489Sdelphij ln -f ${RD}/crunch/${CRUNCH} ${DIR}/${CRUNCH}_crunch ; \ 664171489Sdelphij fi 665171489Sdelphij @chmod 555 ${DIR}/${CRUNCH}_crunch 666171489Sdelphij @if [ -f ${.OBJDIR}/${CRUNCH}_crunch.conf ] ; then \ 667171489Sdelphij for i in `crunchgen -l ${.OBJDIR}/${CRUNCH}_crunch.conf` ; do \ 668171489Sdelphij ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \ 669231775Salc done \ 670171489Sdelphij else \ 671194124Salc for i in `crunchgen -l ${.CURDIR}/${CRUNCH}_crunch.conf` ; do \ 672171489Sdelphij ln -f ${DIR}/${CRUNCH}_crunch ${DIR}/$$i ; \ 673171489Sdelphij done \ 674171489Sdelphij fi 675171489Sdelphij 676171489Sdelphij# 677171489Sdelphij# --==## Compile a kernel by name ${KERNEL} ##==-- 678171489Sdelphij# 679171489Sdelphij# We don't erase the sys/compile/${KERNEL} directory, since somebody 680171489Sdelphij# may want to reuse it (release.8 presently) 681188929Salc# 682188929SalcdoKERNEL: 683188929Salc @rm -f ${RD}/kernels/${KERNEL} 684171489Sdelphij @cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && config ${KERNEL} 685171489Sdelphij @cd ${.CURDIR}/../sys/compile/${KERNEL} && \ 686171489Sdelphij make depend && \ 687171489Sdelphij make ${KERNEL} && \ 688171489Sdelphij cp ${KERNEL} ${RD}/kernels/${KERNEL} 689171489Sdelphij 690171489Sdelphij# 691171489Sdelphij# --==## Put a filesystem into a BOOTMFS kernel ##==-- 692192917Salc# 693192917SalcdoMFSKERN: 694171489Sdelphij @echo "Running doMFSKERN for ${FSIMAGE}" 695171489Sdelphij @rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE} 696209226Salc @cd ${.CURDIR}/../sys/${MACHINE_ARCH}/conf && \ 697188921Salc sh ${.CURDIR}/scripts/dokern.sh ${BIGBOOT} < ${KERNCONF} > BOOTMFS 698207573Salc.if ${MACHINE_ARCH} == "i386" 699171489Sdelphij @echo "options INTRO_USERCONFIG" >> ${.CURDIR}/../sys/i386/conf/BOOTMFS 700171489Sdelphij.endif 701171489Sdelphij.if defined(BIGBOOT) 702171489Sdelphij @echo "options \"MFS_ROOT_SIZE=`cat mfsroot.size`\"" >> \ 703171489Sdelphij ${.CURDIR}/../sys/${MACHINE_ARCH}/conf/BOOTMFS 704171489Sdelphij.endif 705171489Sdelphij @cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS 706171489Sdelphij @rm -rf ${RD}/image.${FSIMAGE} 707171489Sdelphij @mkdir ${RD}/image.${FSIMAGE} 708171489Sdelphij @cp ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE} 709171489Sdelphij mv ${RD}/kernels/BOOTMFS ${RD}/image.${FSIMAGE}/kernel 710171489Sdelphij @echo "Setting up /boot directory for ${FSIMAGE} floppy" 711170808Sdelphij @mkdir -p ${RD}/image.${FSIMAGE}/boot 712170808Sdelphij @cp /boot/boot[12] /boot/loader ${RD}/image.${FSIMAGE}/boot 713170808Sdelphij.if !defined(BIGBOOT) || ${MACHINE_ARCH} == "alpha" 714170808Sdelphij @echo "load /kernel" > ${RD}/image.${FSIMAGE}/boot/loader.rc 715170808Sdelphij @echo "echo \\007\\007" >> ${RD}/image.${FSIMAGE}/boot/loader.rc 716170808Sdelphij @echo "echo Please insert MFS root floppy and press enter:" >> ${RD}/image.${FSIMAGE}/boot/loader.rc 717170808Sdelphij @echo "read" >> ${RD}/image.${FSIMAGE}/boot/loader.rc 718171489Sdelphij @echo "load -t mfs_root /mfsroot" >> ${RD}/image.${FSIMAGE}/boot/loader.rc 719170808Sdelphij.endif 720170808Sdelphij @echo "echo \\007\\007" >> ${RD}/image.${FSIMAGE}/boot/loader.rc 721170808Sdelphij @echo "autoboot 10" >> ${RD}/image.${FSIMAGE}/boot/loader.rc 722171489Sdelphij @touch ${RD}/image.${FSIMAGE}/boot/loader.config 723171489Sdelphij.if ${MACHINE_ARCH} == "i386" 724170808Sdelphij @echo "-P" >> ${RD}/image.${FSIMAGE}/boot.config 725170808Sdelphij.endif 726170808Sdelphij.if defined(BIGBOOT) 727170808Sdelphij @echo "Writing MFS image into kernel for ${FSIMAGE} floppy" 728170808Sdelphij @./write_mfs_in_kernel ${RD}/image.${FSIMAGE}/kernel mfsroot 729170808Sdelphij @cp ${RD}/image.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE} 730170808Sdelphij.endif 731170808Sdelphij @gzip -9v ${RD}/image.${FSIMAGE}/kernel 732170808Sdelphij @touch ${RD}/image.${FSIMAGE}/kernel.config 733170808Sdelphij @rm -f ${RD}/floppies/${FSIMAGE}.flp 734170808Sdelphij.if defined(BIGBOOT) 735170808Sdelphij sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ 736170808Sdelphij ${RD} ${MNT} ${BIGBOOTSIZE} ${RD}/image.${FSIMAGE} \ 737170808Sdelphij ${BOOTINODE} ${BIGBOOTLABEL} 738170808Sdelphij.else 739170808Sdelphij sh -e ${.CURDIR}/scripts/doFS.sh ${RD}/floppies/${FSIMAGE}.flp \ 740171070Sdelphij ${RD} ${MNT} ${BOOTSIZE} ${RD}/image.${FSIMAGE} \ 741171070Sdelphij ${BOOTINODE} ${BOOTLABEL} 742170808Sdelphij.endif 743170808Sdelphij @echo "Created ${RD}/floppies/${FSIMAGE}.flp" 744170808Sdelphij 745207719Strasz.include <bsd.prog.mk> 746207662Strasz