# # 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}HFS.lib" ¶ "{LibDir}ADBMgr.lib" ¶ "{LibDir}Toolbox.lib" ¶ "{LibDir}MemoryMgr.lib" ¶ "{LibDir}AliasMgr.lib" ¶ "{LibDir}ComponentMgr.lib" ¶ "{LibDir}DataAccessMgr.lib" ¶ "{LibDir}ExpansionBusMgr.lib" ¶ "{LibDir}Gestalt.lib" ¶ "{LibDir}NotificationMgr.lib" ¶ "{LibDir}ToolboxEventMgr.lib" ¶ "{LibDir}ControlMgr.lib" ¶ "{LibDir}DisplayMgr.lib" ¶ "{LibDir}WindowMgr.lib" ¶ "{LibDir}MenuMgr.lib" ¶ "{LibDir}ATAMgr.lib" ¶ "{ObjDir}DeviceMgr.a.o" ¶ # ¶ # 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}FontMgr.lib" ¶ "{LibDir}RomInterface.Lib" ¶ "{LibDir}RomStandardLib.lib" ¶ "{LibDir}Lastly.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" "{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}"