// IfsPackages.cm
// Copyright Xerox Corporation 1979, 1980, 1981, 1982, 1983
// Last modified September 18, 1983  12:28 PM by Taft
// This command file purports to obtain the necessary pieces of
//  all independent Alto packages that are used in IFS.
// It assumes a clean disk constructed using IfsDevDisk.cm.

Ftp Maxc Directory/c Alto ↑
 Load/c KPM.dm Strings.dm EFTPPackage.dm ↑
 Load/s TFS.dm TFSInit.br TFSBase.br TFSA.br TFSWrite.br ↑
  TFSCreate.br TFSClose.br TFSDDMgr.br TFSNewDisk.br TFS.d ↑
 Load/s Context.dm Context.br ContextSchInit.br ContextSched.br ↑
 Load/s RingBuffer.dm RingBytes.br ↑
 Load/s VMem.dm VMemInit.br VMem.br VMemA.br ↑
 Load/s Time.dm Time.d TimeConvB.br TimeConvA.br ↑
 Load/s OSBRs.dm Password.br Dirs.br DirScanA.br FastStreamsB.br ↑
  DiskStreams.br DiskStreamsMain.br DiskStreamsAux.br ↑
  DiskStreamsScan.br DiskStreamsOEP.br ↑
  Alloc.br BFSML.br Calendar.br ↑
 Load/s PupPackage.dm PupBSPOpenClose.br PupBSPStreams.br PupBSPProt.br ↑
  PupBSPA.br PupBSPBlock.br PupRTPOpenClose.br PupRTP.br PupRoute.br ↑
  Pup1OpenClose.br Pup1B.br PupAl1A.br PupDummyGate.br Pup1Init.br ↑
  PupAlEthInit.br PupAlEthB.br PupAlEthA.br Pup.decl PupParams.decl ↑
  PupBSP.decl PupRTP.decl Pup1.decl Pup0.decl ↑
 Load/c Grapevine.dm ↑
 Load/s EtherBoot.dm EtherBootLoader.br ↑
 Retrieve/c AltoQueue.br AltoTimer.br AltoByteBlt.br ↑
  Template.br LoadRam.br Random.br ↑
Directory/c AltoSource ↑
 Load/s BTree.dm BTree.decl ↑
  BTreeRead.bcpl BTreeDel.bcpl BTreeCheck.bcpl ↑
  BTreeWrtMs0.bcpl BTreeWrtMs1.bcpl BTreeWrtMs2.bcpl ↑
 Load/s VMem.dm VMem.d ↑
 Load/c CmdScanSource.dm ↑
 Load/s GrapevineSources.dm GrapevineProtocol.decl ↑
 Load/s FTPPackage.dm FtpUserProt.bcpl FtpUserProtMail.bcpl ↑
  FtpServProt.bcpl FtpServProtFile.bcpl FtpServProtMail.bcpl ↑
  FtpPlistInit.bcpl FtpPlistProt.bcpl FtpPlistImp1.bcpl FtpPlistImp2.bcpl ↑
  FtpUtilInit.bcpl FtpUtilB.bcpl FtpUtilA.asm FtpOEP.bcpl ↑

WriteDirectory

// BTree package only available as sources
Bcpl/f BTreeRead.bcpl BTreeDel.bcpl BTreeCheck.bcpl ↑
 BTreeWrtMs0.bcpl BTreeWrtMs1.bcpl BTreeWrtMs2.bcpl
Delete BTree*.bcpl

// Compile FTP package with nonstandard declarations
Copy FtpProt.decl ← IfsFtpProt.decl
Bcpl/f FtpUserProt.bcpl FtpUserProtMail.bcpl ↑
 FtpServProt.bcpl FtpServProtFile.bcpl FtpServProtMail.bcpl ↑
 FtpPlistInit.bcpl FtpPlistProt.bcpl FtpPlistImp1.bcpl FtpPlistImp2.bcpl ↑
 FtpUtilInit.bcpl FtpUtilB.bcpl FtpOEP.bcpl
Asm/e FtpUtilA.asm
Delete Ftp*.bcpl Ftp*.asm

// Compile CmdScan package with nonstandard declarations
// Note: errors will occur in some modules not used in IFS
Copy CmdScan.decl ← IfsCmdScan.decl
@CompileCmdScan@
Delete @CmdScan@ CmdScan.* CmdScanTest.*
Copy CmdScan.decl ← IfsCmdScan.decl

// Compile Alloc package with nonstandard DEBUG setting
Ftp Maxc dir/c AltoSource load/s OSSources.dm Alloc.bcpl
Bcpl/fo 1/v DEBUG/m Alloc.bcpl
Delete Alloc.bcpl

// There should be no errors in any of the surviving error files!
Copy IfsPackages.errorFiles ← *.bt *.er
Delete *.bt *.er

WriteDirectory