mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-25 09:30:50 +00:00
379 lines
15 KiB
Makefile
379 lines
15 KiB
Makefile
#
|
|
# File: Universal.make
|
|
#
|
|
# Contains: Makefile for the SuperMario ROM.
|
|
#
|
|
# Written by: Kurt Clark
|
|
#
|
|
# Copyright: © 1992-1994 by Apple Computer, Inc., all rights reserved.
|
|
#
|
|
# Change History (most recent first):
|
|
#
|
|
# <SM39> 2/1/94 chp Simplify the build command for the “Clean” target: wildcard
|
|
# substitution is sloppy if there is no match and seems to result
|
|
# in :Obj:Interface: getting deleted.
|
|
# <SM38> 12/2/93 rab Changed ROMVersion to $0006…
|
|
# <SM37> 11/19/93 chp Add BuildResults Text directories to the Delete list in the
|
|
# “Clean” target.
|
|
# <SM36> 11/9/93 rab Changed ROMVersion to $0005 for the new Universal release.
|
|
# <SM35> 11/8/93 SAM Enabled hasROMGibbly for the "universal" build.
|
|
# <SM34> 9/25/93 SAM Removed hasHMC (PDM's memory controller) from the "universal"
|
|
# ROM feature list.
|
|
# <SM33> 9/22/93 kc Turn on symbols.
|
|
# <SM32> 9/2/93 KH change hasSCSIDiskMode to hasSCSIDiskModeFeature
|
|
# <SM31> 7/28/93 kc Turn on figment.
|
|
# <SM30> 7/28/93 kc Bump the version to $04 and add -mf option to RomLayout.
|
|
# <SM29> 7/21/93 RC back out <sm 28>
|
|
# <SM27> 7/1/93 BT Add hasCacheTypeCPU for Figment. This turns on cache flushing at
|
|
# the appropriate points in the new memory manager.
|
|
# <SM26> 6/28/93 PN Fix comments
|
|
# <SM25> 6/28/93 PN Add feature hasMACE to the list
|
|
# <SM24> 6/24/93 CSS Update to ROMVersion $03.
|
|
# <SM23> 6/14/93 kc Roll in Ludwig.
|
|
# <SM22> 6/1/93 CSS Update to ROMVersion $02.
|
|
# <SM21> 5/30/93 SAM Moved ROM_EM to Tidbits.
|
|
# <SM20> 5/21/93 CSS Add international features: hasDoubleByte, Script_Char_Extra,
|
|
# hasPenFraction, hasFullKerning, hasGlyphState.
|
|
# <SM19> 5/18/93 CSS Update to ROMVersion $01.
|
|
# <SM18> 5/5/93 CSS Update ROMVersion to $00. The last build was $AF (or Alpha 15).
|
|
# Rather than do $B0 (or beta 0), since we are not following a
|
|
# normal Alpha/Beta/GM schedule, I will call this release $00 and
|
|
# the subsequent releases $01,... This to avoid implying that
|
|
# SuperMario is actually beta.
|
|
# <SM17> 4/20/93 CSS Update version to a15. Next version update we will call $20 as
|
|
# this one is called $af and we aren't actually in a alpha/beta
|
|
# cycle with the Universal ROM.
|
|
# <SM16> 4/6/93 CSS Changed release version to a14.
|
|
# <SM15> 4/1/93 kc Add {ResourceDir}RomResources.r to RomLayout.Rsrc dependency.
|
|
# <SM14> 4/1/93 kc Delete RomResources.rsrc from dependency list.
|
|
# <SM13> 4/1/93 kc Add dependency to RomLayout.Rsrc
|
|
# <SM12> 3/31/93 kc Add TextDir and StdCPOpts.
|
|
# <11> 3/31/93 IH Set up standard equates define for fasttraps
|
|
# <SM10> 3/19/93 CSS Remove Sadism.rsrc from the build as this stuff is junk.
|
|
# <SM9> 3/11/93 PN Put Sane.rsrc back for Pack 7
|
|
# <SM8> 3/8/93 PN From the conversation with Jon Okada. We should use InSane for
|
|
# NonFPU pack 4 and 5 from now on.
|
|
# <SM7> 3/5/93 PN Stop and exit whenever ROMLayout fails
|
|
# <SM6> 2/28/93 chp Update from Ludwig. <LW6>
|
|
# <SM5> 2/23/93 CSS Fix header.
|
|
# <SM4> 2/22/93 kc Fix misspelling of ResourceDir.
|
|
# <SM3> 2/22/93 CSS Correct spelling of Universal.make in heading.
|
|
# <SM2> 2/22/93 CSS Correct spelling of Resource (from Resoruce).
|
|
# <SM30> 2/15/93 kc Add AppleTalk.ROM.RSRC.
|
|
# <SM29> 2/10/93 RB Changed release version to a13.
|
|
# <SM28> 2/2/93 GMR Added hasSwim3 feature.
|
|
# <LW6> 12/29/92 chp Removed SerialIOP.rsrc from the build. All traditional serial
|
|
# resources are now found in Serial.rsrc.
|
|
# <SM27> 12/29/92 RB Added the feature hasSysSevenResources, which should have been
|
|
# set here last week.
|
|
# <SM26> 12/29/92 HY Remove hasNewSoundMgr feature flag. Reverting back to 7.1 sound mgr.
|
|
# <SM25> 12/23/92 kc Remove DSPHardware from the build.
|
|
# <SM24> 12/18/92 RB Added the backlight driver and its make file.
|
|
# <SM23> 12/17/92 RB Added some of the new features. Added the SuperMario sub-release
|
|
# version. LC930 is the first release, Cyclone is 2, etc.
|
|
# <SM22> 12/15/92 CSS Add dictionary manager to the project.
|
|
# <SM21> 12/11/92 chp Reinstated resource names. (Woof, woof.)
|
|
# <SM20> 12/11/92 chp By popular demand, Macsbug symbols are reinstated.
|
|
# <SM19> 12/11/92 chp Changed C and Pascal standard options to suppress MacsBug
|
|
# symbols and to generate 68020 code.
|
|
# <SM18> 12/11/92 kc Remove the post build beeps.
|
|
# <SM17> 12/10/92 FU Added DSPHardware.c to the list of resource files
|
|
# <SM16> 12/9/92 DH Added new I2C component.
|
|
# <SM15> 12-04-92 jmp Added VSCDeclData to the list of things to make.
|
|
# <SM14> 12/3/92 RB Added the feature has2MegROMOrMore.
|
|
# <SM13> 12/2/92 kc Add RomBase Variable. Set ROMRelease to 1.0A8. Set Commands
|
|
# variable to {ToolDir}. Add Clean Target that deletes all of the
|
|
# objects, libraries and resources.
|
|
# <SM12> 12/1/92 ejb add RTDrvr.rsrc dependency to resource files
|
|
# <SM11> 11/30/92 EH Add hasPratt for the Blackbird memory controller chip.
|
|
# <SM10> 11/30/92 kc Remove -d forRomulator.
|
|
# <SM9> 11/29/92 PW Removed the COUSIN_ITT feature (hasAsyncSCSI is all we need).
|
|
# <SM8> 11/25/92 chp Override the Make tool default dependencies for .a.o, .c.o, and
|
|
# .p.o files so that {StdXOpts} are passed to the assembler or
|
|
# compiler when applying default rules.
|
|
# <SM7> 11/24/92 RB Use the feature hasROM_EM so it can be easily taken out.
|
|
# <SM6> 11/23/92 kc Update to work with the new build script.
|
|
# <SM5> 11/14/92 kc Change link option used to name segment from -sg to -sn.
|
|
# <SM4> 11/12/92 kc Add variables used by the dsp tools.
|
|
# <SM4> 11/12/92 CSS Fix problem with Tidbits directory and removed StandardEqu.make
|
|
# as this is in the MainCode.make file. Also, fix problems with
|
|
# build of ROM_EM.rsrc.
|
|
# <SM3> 11/11/92 RB Added the feature hasNewSoundMgr and hasDSP, hasSCSIDiskMode,
|
|
# hasAsyncSCSI, hasAppleTalkInROM, hasNewAge, hasVideoIn,
|
|
# COUSIN_ITT Added standard RIncludes and ROM_EM.
|
|
# <SM2> 11/3/92 mal (kc) Add MAOpts and MCOpts.
|
|
#
|
|
|
|
BuildDir = {Sources}BuildResults:Universal:
|
|
ImageDir = {BuildDir}Image:
|
|
RsrcDir = {BuildDir}Rsrc:
|
|
LibDir = {BuildDir}Lib:
|
|
ObjDir = {BuildDir}Obj:
|
|
TextDir = {BuildDir}Text:
|
|
IfObjDir = {ObjDir}Interface:
|
|
MakeDir = {Sources}Make:
|
|
ResourceDir = {Sources}Resources:
|
|
DeclDir = {Sources}DeclData:
|
|
ToolDir = {Sources}Tools:
|
|
ToolSrcDir = {Sources}Tools:ToolSource:
|
|
MiscDir = {Sources}Misc:
|
|
TidbitsDir = {Sources}Tidbits:
|
|
DriverDir = {Sources}Drivers:
|
|
|
|
|
|
AIncludes = {Sources}Interfaces:AIncludes:
|
|
CIncludes = {Sources}Interfaces:CIncludes:
|
|
PInterfaces = {Sources}Interfaces:PInterfaces:
|
|
RIncludes = {Sources}Interfaces:RIncludes:
|
|
IntAIncludes = {Sources}Internal:Asm:
|
|
IntCIncludes = {Sources}Internal:C:
|
|
IntPInterfaces = {Sources}Internal:Pascal:
|
|
IntRIncludes = {Sources}Internal:Rez:
|
|
Libraries = {Sources}Libs:Libraries:
|
|
CLibraries = {Sources}Libs:CLibraries:
|
|
PLibraries = {Sources}Libs:PLibraries:
|
|
|
|
ROMVersion = $0006
|
|
|
|
MAOpts = -d TRUE=1 -d FALSE=0 -d Alignment=16 -d CPU=40 -d ROMRelease={ROMVersion} -wb -d SubRelease=2
|
|
MCOpts = -d TRUE=1 -d FALSE=0 -d Alignment=16 -d CPU=40 -d ROMRelease={ROMVersion} -b3 ∂
|
|
-mbg full -mc68020
|
|
MPOpts = -mbg full -mc68020
|
|
|
|
RomBase = $40800000
|
|
|
|
Features = hasROMGibbly ∂
|
|
hasCacheTypeCPU ∂
|
|
hasSCSIDiskModeFeature ∂
|
|
hasSysSevenResources ∂
|
|
hasVMinROM ∂
|
|
hasYMCA ∂
|
|
hasCPUIDRegister ∂
|
|
has2MegROMOrMore ∂
|
|
hasAppleTalkInROM ∂
|
|
hasNewAge ∂
|
|
hasVideoIn ∂
|
|
hasMace ∂
|
|
hasAsyncSCSI ∂
|
|
hasDSP ∂
|
|
BadBlockSparingEnabled ∂
|
|
CubeE ∂
|
|
IopADB ∂
|
|
OssADB ∂
|
|
PwrMgrADB ∂
|
|
SystemSevenOrLater ∂
|
|
SystemSixOrLater ∂
|
|
ViaADB ∂
|
|
forADBKeyboards ∂
|
|
forAppleTalk20 ∂
|
|
forLocalizability ∂
|
|
has040MMU ∂
|
|
hasADBKeyLayouts ∂
|
|
hasASC ∂
|
|
hasAliasMgr ∂
|
|
hasApple2Fonts ∂
|
|
hasAppleEventMgr ∂
|
|
hasBalloonHelp ∂
|
|
hasBattery ∂
|
|
hasCommToolbox ∂
|
|
hasCQD ∂
|
|
hasDAFB ∂
|
|
hasDJMEMC ∂
|
|
hasDataAccessMgr ∂
|
|
hasDoubleByte ∂
|
|
hasEDisk ∂
|
|
hasEclipseVIA2 ∂
|
|
hasEditionMgr ∂
|
|
hasEgret ∂
|
|
hasExtendedCharacterSet ∂
|
|
hasFMC ∂
|
|
hasFullKerning ∂
|
|
hasGDU ∂
|
|
hasGlyphState ∂
|
|
hasIdle ∂
|
|
hasIopScc ∂
|
|
hasIopSwim ∂
|
|
hasJaws ∂
|
|
hasLCDScreen ∂
|
|
hasMDU ∂
|
|
hasMMU ∂
|
|
hasMSC ∂
|
|
hasMac2VIA2 ∂
|
|
hasNetBoot ∂
|
|
hasNewHeapMgr ∂
|
|
hasNiagra ∂
|
|
hasOrwell ∂
|
|
hasOss ∂
|
|
hasPenFraction ∂
|
|
hasPratt ∂
|
|
hasProtectedPRAM ∂
|
|
hasSCSI96 ∂
|
|
hasSWIM2 ∂
|
|
hasSwim3 ∂
|
|
hasSlotMgr ∂
|
|
hasSonora ∂
|
|
hasSplineFonts ∂
|
|
hasVDAC ∂
|
|
hasVIAClock ∂
|
|
hasVISA2 ∂
|
|
hasVISADecoder ∂
|
|
hasWaimeaVIA2 ∂
|
|
isUniversal ∂
|
|
hasPSC ∂
|
|
hasPwrControls ∂
|
|
hasPwrMgrClock ∂
|
|
hasRBV ∂
|
|
hasSlotMgr ∂
|
|
hasSplineFonts ∂
|
|
hasVIAClock ∂
|
|
hasWaimeaVIA2 ∂
|
|
NewBuildSystem ∂
|
|
isUniversal ∂
|
|
onHafMac ∂
|
|
onMac32 ∂
|
|
onNuMac ∂
|
|
Script_Char_Extra ∂
|
|
ForROM
|
|
|
|
#
|
|
# If you add a file to "ResourceFiles", you MUST add 'rrsc' entries to RomResources.r
|
|
# to get the rsrc's pulled out of your resource and into the ROM image.
|
|
# See "{ImageDir}RomMondo" & "{RsrcDir}RomResources.rsrc" targets.
|
|
#
|
|
ResourceFiles = "{MiscDir}AppleTalk.ROM.RSRC" ∂
|
|
"{RsrcDir}AppleEventMgr.rsrc" ∂
|
|
"{RsrcDir}ATBoot.RSRC" ∂
|
|
"{RsrcDir}Backlight.rsrc" ∂
|
|
"{RsrcDir}CQD.rsrc" ∂
|
|
"{RsrcDir}ColorPicker.rsrc" ∂
|
|
"{RsrcDir}CommToolbox.rsrc" ∂
|
|
"{RsrcDir}ControlMgr.rsrc" ∂
|
|
"{RsrcDir}DataAccessMgr.rsrc" ∂
|
|
"{RsrcDir}DictionaryMgr.rsrc" ∂
|
|
"{RsrcDir}DeclData" ∂
|
|
"{RsrcDir}EDisk.rsrc" ∂
|
|
"{RsrcDir}EditionMgr.rsrc" ∂
|
|
"{MiscDir}Ethernet.rsrc" ∂
|
|
"{RsrcDir}Gibbly.rsrc" ∂
|
|
"{RsrcDir}HelpMgr.rsrc" ∂
|
|
"{RsrcDir}InSane.rsrc" ∂
|
|
"{RsrcDir}InSaneNFPU.rsrc" ∂
|
|
"{RsrcDir}I2CC.rsrc" ∂
|
|
"{RsrcDir}I2CT.rsrc" ∂
|
|
"{RsrcDir}ListMgr.rsrc" ∂
|
|
"{RsrcDir}MACEecfg.rsrc" ∂
|
|
"{RsrcDir}MainCode.Rsrc" ∂
|
|
"{RsrcDir}MenuMgr.rsrc" ∂
|
|
"{RsrcDir}MiscROMRsrcs.rsrc" ∂
|
|
"{RsrcDir}NetBoot.rsrc" ∂
|
|
"{RsrcDir}NewAge.rsrc" ∂
|
|
"{RsrcDir}PPC.rsrc" ∂
|
|
"{RsrcDir}PictUtilities.rsrc" ∂
|
|
"{RsrcDir}ROMApple2Fonts.rsrc" ∂
|
|
"{RsrcDir}ROMFonts.rsrc" ∂
|
|
"{RsrcDir}RTDrvr.rsrc" ∂
|
|
"{RsrcDir}RTMgr.rsrc" ∂
|
|
"{RsrcDir}RTSnd.rsrc" ∂
|
|
"{RsrcDir}RTSndIn.rsrc" ∂
|
|
"{RsrcDir}RomLayout.Rsrc" ∂
|
|
"{RsrcDir}SCCIOP.rsrc" ∂
|
|
"{RsrcDir}SWIMIOP.rsrc" ∂
|
|
"{RsrcDir}Sane.rsrc" ∂
|
|
"{RsrcDir}Serial.rsrc" ∂
|
|
"{RsrcDir}SerialDMA.rsrc" ∂
|
|
"{RsrcDir}Sony.rsrc" ∂
|
|
"{RsrcDir}SoundMgr.rsrc" ∂
|
|
"{RsrcDir}StandardFile.rsrc" ∂
|
|
"{RsrcDir}StdSndInput.rsrc" ∂
|
|
"{RsrcDir}StdSndMidput.rsrc" ∂
|
|
"{RsrcDir}StdSndPlayer.rsrc" ∂
|
|
"{RsrcDir}StdSndOutput.rsrc" ∂
|
|
"{RsrcDir}VDigC.rsrc" ∂
|
|
"{RsrcDir}VDigT.rsrc" ∂
|
|
"{MiscDir}VM.RSRC" ∂
|
|
# "{RsrcDir}VSCDeclData" ∂
|
|
"{RsrcDir}WindowMgr.rsrc" ∂
|
|
"{RsrcDir}ZoundBlueInputAdaptor.rsrc" ∂
|
|
"{RsrcDir}kbd.rsrc"
|
|
|
|
|
|
RomMondo ƒ FeatureSet "{ImageDir}RomMondo"
|
|
beep 1300,3,25 0,1,0 1200,3,25 0,1,0 1100,3,25 0,1,0 1000,3,25
|
|
|
|
|
|
"{ImageDir}RomMondo" ƒ {ResourceFiles}
|
|
"{ToolDir}ROMLayout" -mf "{RsrcDir}RomLayout.Rsrc" -o "{Targ}" -log "{ImageDir}RomInfo" || Exit {Status}
|
|
|
|
|
|
LinkRomImage ƒ # target for partial builds
|
|
"{ToolDir}ROMLayout" -mf "{RsrcDir}RomLayout.Rsrc" -o "{ImageDir}RomMondo" -log "{ImageDir}RomInfo"
|
|
|
|
|
|
FeatureSet ƒ
|
|
Set FeatureSet "`{MakeDir}FeatureList "{Features}" "{Overrides}" `" ; Export FeatureSet
|
|
Set Commands "{ToolDir},{Commands}"
|
|
Set ObjDir "{ObjDir}" ; Export ObjDir
|
|
Set RsrcDir "{RsrcDir}" ; Export RsrcDir
|
|
Set TextDir "{TextDir}" ; Export TextDir
|
|
Set MiscDir "{MiscDir}" ; Export MiscDir
|
|
Set TidbitsDir "{TidbitsDir}" ; Export TidbitsDir
|
|
Set ROMBuildTime "`Date -n`" ; Export ROMBuildTime
|
|
Set AIncludes "{AIncludes}"
|
|
Set CIncludes "{CIncludes}"
|
|
Set PInterfaces "{PInterfaces}"
|
|
Set RIncludes "{RIncludes}"
|
|
Set Libraries "{Libraries}"
|
|
Set CLibraries "{CLibraries}"
|
|
Set PLibraries "{PLibraries}"
|
|
Set StdAOpts "{MAOpts} {FeatureSet} -i {IntAIncludes} {AOpts} -i {ObjDir} -sym on,nolines,notypes,novars"
|
|
Set StdCOpts "{MCOpts} {FeatureSet} -i {IntCIncludes} {COpts} -r -sym on,nolines,notypes,novars"
|
|
Set StdCPOpts "{MCPOpts} {FeatureSet} -i {IntCIncludes} {COpts}"
|
|
Set StdPOpts "{MPOpts} {FeatureSet} -i {IntPInterfaces} {POpts} -r"
|
|
Set StdROpts "{FeatureSet} {ROpts} -i {IntRIncludes} -i {RIncludes}"
|
|
Set DSP3210_Temp "{ObjDir}" ; Export DSP3210_Temp
|
|
Set DSP3210_Tools "{ToolDir}" ; Export DSP3210_Tools
|
|
Set DSP3210_Aux "{ToolDir}" ; Export DSP3210_Aux
|
|
Set DSP3210_Includes "{ToolDir}" ; Export DSP3210_Includes
|
|
Set DSP3210_Libraries "{ToolDir}" ; Export DSP3210_Libraries
|
|
Set DSP3210_AsmPP d32cpp ; Export DSP3210_AsmPP
|
|
Set StdLOpts "{LOpts} -mf -t rsrc -c RSED -sg Main"
|
|
Set StdLibOpts "{LibOpts} -mf -sym on,nolines,notypes,novars"
|
|
Set StdAlign "{Align} -ac 16 -ad 16"
|
|
Set StdVOpts "{VOpts}"
|
|
Set StdEquAOpts "`{MakeDir}CreateStdEquAOptions "{FeatureSet}"`" ; Export StdEquAOpts
|
|
|
|
"{RsrcDir}RomLayout.Rsrc" ƒ "{MakeDir}UniversalLayout.r" "{ResourceDir}RomResources.r" "{IntRIncludes}RomTypes.r"
|
|
Rez {StdROpts} "{MakeDir}UniversalLayout.r" -i "{ResourceDir}" -o "{targ}" -d RomBase={RomBase}
|
|
|
|
|
|
Clean ƒ
|
|
Delete -i `Files -f -r -o -s "{BuildDir}"` ≥ Dev:Null
|
|
|
|
|
|
# Following are essentially the default rules from the Make tool, modified to use
|
|
# {StdAOpts}, {StdCOpts}, and {StdPOpts} as they are defined in this file.
|
|
# These options are supersets of the default {AOpts}, {COpts}, and {POpts}.
|
|
|
|
.a.o ƒ .a
|
|
{Asm} {StdAOpts} -o {Targ} {DepDir}{Default}.a
|
|
|
|
.c.o ƒ .c
|
|
{C} {StdCOpts} -o {Targ} {DepDir}{Default}.c
|
|
|
|
.cp.o ƒ .c
|
|
{CPlus} {StdCPOpts} -o {Targ} {DepDir}{Default}.cp
|
|
|
|
.p.o ƒ .p
|
|
{Pascal} {StdPOpts} -o {Targ} {DepDir}{Default}.p
|
|
|
|
|
|
#include {ToolSrcDir}Tools.make
|
|
|
|
#include {MakeDir}MainCode.make
|
|
|
|
#include {DeclDir}DeclData.make
|
|
|
|
#include {DriverDir}Drivers.make
|
|
|
|
#include {ResourceDir}Resources.make
|