# # File MainCode.Make # # Contains: Makefile for main code image. # # Written by: Kurt Clark, Chas Spillar, and Tim Nichols # # Copyright: © 1992-1993 by Apple Computer, Inc., all rights reserved. # # Change History (most recent first): # # 11/11/93 fau Added the Expansion Bus Manager to the libraries. # 7/20/93 SAM Removed ProcessMgrSegmentTweaks.a. It was redundant. # <10> 4/8/93 IH Re-introduce Display Manager. # 4/7/93 CSS Don't echo {StdEquAOpts} in lines to build standardequ.d. # 4/4/93 RC Comment out DisplayMgr (I believe that it is inclued twice (once # in ToolBox.lib and once directly into MainCode) # 4/1/93 kc Re-enable the Display Manager. # 4/1/93 kc Back out Ian's change. # 3/31/93 kc Change the path of the VectorLog file to use TextDir and change # the -map parameter for the Linker to -l. # 3/31/93 IH Add Display Manager objects. # 3/16/93 SAM Added TrapsPrivate.a to the list of dependencies for # StandardEqu.a. Sorry about that full build (hee hee). # 2/22/93 RC Turned off Warnings # 12/8/92 RC Included GoNativeROMLib.o to the MainCodeLibs # 12/2/92 kc Change Vectorization stuff to use new Macros. # 11/23/92 kc Change VOpts to StdVOpts. # 11/14/92 kc Change link option used to name segment from -sg to -sn. # 11/12/92 kc Remove Sadism.lib. Change Link command to write the link map to # the data fork of the resoruce file. # 11/11/92 RB Added rules for ROM_EM. Changed the output of the linking of # ROM, it was erasing Maincode.rsrc OSDir = {Sources}OS: ToolBoxDir = {Sources}ToolBox: PatchDir = {Sources}Patches: ColorQDDir = {Sources}QuickDraw: IfSrcDir = {Sources}Libs:InterfaceSrcs: LibraryDir = {Sources}Libs:Libraries: #include {OSDir}OS.make #include {ToolBoxDir}Toolbox.make #include {ColorQDDir}ColorQD.make #include {IfSrcDir}Interface.make MainCodeLibs = ∂ "{LibDir}StartMgr.lib" ∂ "{ObjDir}VectorTableInit.a.o" ∂ "{LibDir}IOPrimitives.lib" ∂ "{LibDir}MMU.lib" ∂ "{LibDir}OS.lib" ∂ "{MiscDir}GoNativeROMLib.o" ∂ "{LibDir}SlotMgr.lib" ∂ "{LibDir}SCSI.lib" ∂ "{LibDir}SCSI4pt3.lib" ∂ "{LibDir}HFS.lib" ∂ "{LibDir}PPC.lib" ∂ "{LibDir}ADBMgr.lib" ∂ "{LibDir}TimeMgr.lib" ∂ "{LibDir}Toolbox.lib" ∂ "{LibDir}CommToolboxPatch.Lib" ∂ "{LibDir}MemoryMgr.lib" ∂ "{LibDir}AliasMgr.lib" ∂ "{LibDir}ComponentMgr.lib" ∂ "{LibDir}DataAccessMgr.lib" ∂ "{LibDir}EditionMgr.lib" ∂ "{LibDir}ExpansionBusMgr.lib" ∂ "{LibDir}HelpMgr.lib" ∂ "{LibDir}SoundMgr.lib" ∂ "{LibDir}Gestalt.lib" ∂ "{LibDir}IconUtils.lib" ∂ "{LibDir}NotificationMgr.lib" ∂ "{LibDir}PictUtilities.lib" ∂ "{LibDir}ToolboxEventMgr.lib" ∂ "{LibDir}ControlMgr.lib" ∂ "{LibDir}DisplayMgr.lib" ∂ "{LibDir}WindowMgr.lib" ∂ "{LibDir}MenuMgr.lib" ∂ # ∂ # DispatchHelper and DialogMgr.lib need to be colocated ∂ # ∂ "{ObjDir}DispatchHelper.a.o" ∂ "{LibDir}DialogMgr.lib" ∂ # ∂ # ResourceMgr.lib and ScriptMgr.lib need to be colocated ∂ # ∂ "{LibDir}ResourceMgr.lib" ∂ "{LibDir}ScriptMgr.lib" ∂ "{LibDir}CQD.lib" ∂ "{LibDir}TextServicesMgr.lib" ∂ "{LibDir}FontMgr.lib" ∂ "{LibDir}RomInterface.Lib" ∂ "{LibDir}RomStandardLib.lib" ∂ "{LibDir}StartTest.lib" ∂ "{LibDir}VideoDriver.lib" ∂ "{ObjDir}WallyWorld.a.o" ∂ "{ObjDir}FPEmulation.a.o" ∂ "{LibDir}Beep.lib" ∂ # ∂ # Keep DispTable at end ∂ # ∂ "{ObjDir}DispTable.a.o" # # end of ROM # # # Main Code Image Resource # "{RsrcDir}MainCode.Rsrc" ƒ "{LibDir}MainCode.Lib" Delete "{Targ}" ∑ Dev:Null || Set Status 0 Link {StdLOpts} {StdAlign} -rt ZROM=128 -br 020 -sg zrom -l -m MYROM ∂ "{LibDir}MainCode.Lib" -o "{Targ}" > "{TextDir}MainCode.map" # # Vectorization # "{LibDir}MainCode.Lib" ƒ {MainCodeLibs} "{ObjDir}VectorTablePatch.a.o" "{ToolDir}Vectorize" -w -v "{ObjDir}VectorTablePatch.a.o" -log "{TextDir}MainCode.Sym" {StdVOpts} -o "{Targ}" {MainCodeLibs} "{ObjDir}VectorTablePatch.a.o" ƒ "{Sources}Make:VectorTable.a" "{IntAIncludes}VectorTablePatch.a" Asm -case on {StdAOpts} -o "{Targ}" "{IntAIncludes}VectorTablePatch.a" -d &VectorTable="∂'{Sources}Make:VectorTable.a∂'" -d ROMBASE={RomBase} "{ObjDir}VectorTableInit.a.o" ƒ "{Sources}Make:VectorTable.a" "{IntAIncludes}VectorTableInit.a" Asm -case on {StdAOpts} -o "{Targ}" "{IntAIncludes}VectorTableInit.a" -d &VectorTable="∂'{Sources}Make:VectorTable.a∂'" -d ROMBASE={RomBase} # # Patches # "{ObjDir}MiscPatches.a.o" ƒ "{ObjDir}StandardEqu.d" ∂ "{IntAIncludes}ResourceMgrPriv.a" ∂ "{IntAIncludes}BTreeEqu.a" ∂ "{IntAIncludes}MMUEqu.a" ∂ "{IntAIncludes}BootEqu.a" ∂ "{IntAIncludes}HardwarePrivateEqu.a" ∂ "{IntAIncludes}FileMgrPrivate.a" ∂ "{IntAIncludes}ScriptPriv.a" ∂ "{AIncludes}GestaltEqu.a" ∂ "{IntAIncludes}GestaltPrivateEqu.a" ∂ "{IntAIncludes}EditionsPrivate.a" ∂ "{IntAIncludes}UniversalEqu.a" ∂ "{AIncludes}DatabaseAccess.a" ∂ "{PatchDir}MiscPatches.a" Asm {StdAOpts} -o "{Targ}" "{PatchDir}MiscPatches.a" "{LibDir}RomStandardLib.lib" ƒ "{LibraryDir}StandardLib.o" ∂ "{IfSrcDir}DuplicateModules.rom" Lib {StdLibOpts} -o "{Targ}" "{LibraryDir}StandardLib.o" -df "{IfSrcDir}DuplicateModules.rom" "{LibDir}RomInterface.Lib" ƒ "{IfObjDir}Interface.o" ∂ "{IfSrcDir}DuplicateModules.rom" Lib {StdLibOpts} -o "{Targ}" "{IfObjDir}Interface.o" -df "{IfSrcDir}DuplicateModules.rom" # Precompiled headers are not free. # # There is a double define problem in StandardEqu.d such that # if we define ROMFastTraps when we build StandardEqu.d, we cannot # build with any different settings. If ROMFastTraps is set to a # different value in a later build we puke (ie we have to do a full build). # # It would be nice to be able to avoid full builds although the # Traps.a files will use the stale setting of ROMFastTraps # "{ObjDir}StandardEqu.d" ƒ "{AIncludes}FSEqu.a" ∂ "{AIncludes}FSPrivate.a" ∂ "{AIncludes}Private.a" ∂ "{AIncludes}QuickDraw.a" ∂ "{AIncludes}SANEMacs.a" ∂ "{AIncludes}Script.a" ∂ "{AIncludes}SysEqu.a" ∂ "{IntAIncludes}SysPrivateEqu.a" ∂ "{AIncludes}SysErr.a" ∂ "{AIncludes}ToolUtils.a" ∂ "{AIncludes}Traps.a" ∂ "{AIncludes}Timer.a" ∂ "{IntAIncludes}InternalOnlyEqu.a" ∂ "{IntAIncludes}TrapsPrivate.a" ∂ "{IntAIncludes}StandardEqu.a" ∂ "{AIncludes}Power.a" Asm {StdEquAOpts} -o Dev:Null "{IntAIncludes}StandardEqu.a" -i "{IntAIncludes}" Move -y StandardEqu.d "{Targ}"