mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
2415ed21b7
Now the linker (RomLayout) does not need to be built manually.
334 lines
14 KiB
Makefile
334 lines
14 KiB
Makefile
#
|
|
# File: RISC.make
|
|
#
|
|
# Contains: Makefile for the RISC ROM.
|
|
#
|
|
# Written by: Kurt Clark
|
|
#
|
|
# Copyright: © 1992-1994 by Apple Computer, Inc., all rights reserved.
|
|
#
|
|
# Change History (most recent first):
|
|
#
|
|
# <SM76> 1/31/94 GS Update Version for TNT D4c1 build.
|
|
# <SM75> 1/10/94 chp TNT D3C1 build. 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.
|
|
# <SM74> 12/2/93 chp TNT D2C1 build.
|
|
# <SM73> 11/19/93 chp Add BuildResults Text directories to the Delete list in the
|
|
# ÒCleanÓ target.
|
|
# <SM72> 11/10/93 fau Added a 'hasGrandCentral' feature (TNT's Interrupt Controller)
|
|
# and revved the release to D1C1 for TNT's D1 release.
|
|
# <SM71> 11/9/93 KW PDM build flags are NO longer always true. PDM must include
|
|
# them on the build line
|
|
# <SM70> 11/3/93 RC Changed rev for fc1 build, make PDM flags true by default,
|
|
# turned off symbols
|
|
# <SM69> 10/20/93 BT #1118912; for some reason hasRISCV0ResMgrPatches is not in here.
|
|
# Add it.
|
|
# <SM68> 10/15/93 SAM Turning on forPDMProto by default.
|
|
# <SM67> 10/14/93 pdw Added a dependency on AppleTalk.ROM.rsrc.
|
|
# <SM66> 10/6/93 RC Bump rev up to B2E1
|
|
# <SM65> 9/30/93 IH Add hasDisplayMgrWindows feature to PDM. This allows the display
|
|
# manager in the gibbly without patching out the window manager on
|
|
# PDM. Having it in ROM and on Disk are okay. Make sure that the
|
|
# gibbly is built with hasDisplayMgr before turning it off in ROM
|
|
# or you will be making unimplemented trap calls from the window
|
|
# manager.
|
|
# <SM64> 9/28/93 SAM From mc900ftjesus.
|
|
# <MC10> 9/27/93 SAM Removed VMinROM cuz its not. Turned symbols off cuz its slowww.
|
|
# <MC9> 9/26/93 pdw Changed alignment to 8 which makes a little more sense than 16
|
|
# but not as much sense as 64 but since that doesn't work, 8 it
|
|
# is. Why not 4? I thought there might be a little better bus
|
|
# utilization if things were on 8 byte alignment.
|
|
# <SM63> 9/22/93 kc Turn on symbols.
|
|
# <SM62> 9/13/93 RC Bump Rev to A5E1
|
|
# <SM61> 9/2/93 SKH change hasSCSIDiskMode to hasSCSIDiskModeFeature
|
|
# <SM60> 8/23/93 RC bumping rev again
|
|
# <SM59> 8/23/93 RC bump Rev level to A4C1
|
|
# <SM58> 8/20/93 RC bumbed up rev level
|
|
# <SM57> 8/11/93 RC Rev Version Number
|
|
# <SM56> 8/9/93 JDR remove -w from StdCOpts so we can really get warning messages
|
|
# when asked for
|
|
# <SM55> 7/31/93 SAM Added -mf option to ROMLayout calls.
|
|
# <SM54> 7/21/93 RC Changed Power_PC_Native_Components to SupportNativeComponents
|
|
# <SM53> 7/21/93 SAM Been smokin' too much crack. Really, lose the -bigseg for the C
|
|
# compiler.
|
|
# <SM52> 7/21/93 SAM Removed the -bigSeg option from the C stdoptions
|
|
# <SM51> 7/20/93 SAM Set the CPU type to 020 for PDM. Enable full optization for the
|
|
# C compiler and set the I/O buffer block size to the max (for
|
|
# faster builds).
|
|
# <SM50> 7/18/93 RC Upping Rev Level to A3E3
|
|
# <SM49> 7/14/93 RC added hasAMIC feature flag and changed Rel level to A3E2
|
|
# <SM48> 7/7/93 RC turned on Native components Mgr support in RISC and turned of
|
|
# warnings in the C comiples, due to warnings in the
|
|
# ThingManager.c which I could not kill in the code
|
|
# <SM47> 6/30/93 RC Added cyclone vdigs back in
|
|
# <SM46> 6/29/93 RC Stipped out the cyclone MACEecfg resources which were doing
|
|
# nothing for PDM
|
|
# <SM45> 6/24/93 RC Bumped Rev to a2e1, took out cyclone vdigs from RISC build, took
|
|
# out non-PDM Ethernet.rsrc
|
|
# <SM44> 6/14/93 kc Add Maceecfg.rsrc to dependency.
|
|
# <SM43> 6/11/93 RC eliminated the use of all DSP tools to build any part of the
|
|
# Risc ROM
|
|
# <SM42> 5/30/93 SAM Moved ROM_EM to Tidbits.
|
|
# <SM41> 5/29/93 RC Release num change
|
|
# <SM40> 5/26/93 RC Bumped Rev to D9C1 and I also added the feature flags to turn on
|
|
# the international support, so that Double Byte TrueType would
|
|
# work.
|
|
# <SM39> 5/20/93 BT Update build to only include Figment under conditional compile
|
|
# flag "hasNewHeapMgr". This is included here as a standard build
|
|
# feature.
|
|
# <SM38> 5/10/93 SAM Bumping version to d7c4.
|
|
# <SM37> 5/9/93 RC new rom rev (d7c3)
|
|
# <SM36> 5/3/93 RC going to D7c1 build
|
|
# <SM35> 4/20/93 SAM Added a type and creator to the Rez line that builds
|
|
# RISCLayout.rsrc, just cuz.
|
|
# <SM34> 4/15/93 RC Rev version to D6C2 (didn't pass w/ C1)
|
|
# <SM33> 4/9/93 RC uping rev version to D6 C1
|
|
# <32> 4/8/93 IH Re-introduce Display Manager as RISC feature.
|
|
# <SM31> 4/8/93 RC Making PDM ROM build easier and Smurf build harder (I care a lot
|
|
# less about Smurf)
|
|
# <SM30> 4/7/93 RC Move hasCAppleTalkInROM to build command, so Smurf will build
|
|
# correctly
|
|
# <SM29> 4/2/93 BT Shouldn't have Display Manager as a feature until it works!
|
|
# Remove hasDisplayMgr from features.
|
|
# <SM28> 4/1/93 kc Fix last check in comment.
|
|
# <SM27> 4/1/93 kc Add {ResourceDir}RomResources.r to RomLayout.Rsrc dependency.
|
|
# <SM26> 4/1/93 kc Delete RomResources.rsrc from dependency list.
|
|
# <SM25> 4/1/93 kc Add dependency to RomLayout.Rsrc
|
|
# <SM24> 3/31/93 kc Add TextDir and StdCPOpts.
|
|
# <23> 3/31/93 IH Add hasDisplayMgr to Risc features.
|
|
# <SM22> 3/24/93 dwc Re-enable CAppleTalk to use patched AT58.
|
|
# <SM21> 3/24/93 dwc Disabled hasCAppleTalkInROM to avoid a conflict with ENET.
|
|
# <SM19> 3/22/93 RC D6E1 version timed
|
|
# <SM18> 3/19/93 CSS Remove Sadism.rsrc from the build as this stuff is junk.
|
|
# <SM17> 3/16/93 SAM Removed a ÒfeatureÓ that should never have been in the ROM.
|
|
# <SM16> 3/14/93 RC Upped rev to D5C2
|
|
# <SM15> 3/11/93 RC Ready for D5C1 Version of the Risc Rom
|
|
# <SM14> 3/10/93 RC One last fix to keep Sane happy to the end of the build (I added
|
|
# the SANE.rsrc which is expected by the ROMResource.r
|
|
# <SM13> 3/9/93 RC Sorry about undoing the last rev, but I was facked out by
|
|
# GoNative
|
|
# <SM12> 3/9/93 RC Took out InSaneNFPU resource
|
|
# <SM11> 3/8/93 RC Increament ROM Release version to D5E3
|
|
# <SM10> 3/8/93 PN Change Sane.rsrc to InSaneNFPU.rsrc
|
|
# <SM9> 3/8/93 RC Turned on C version of AppleTalk
|
|
# <SM8> 3/5/93 RC Uped the version of the ROM to D5E2
|
|
# <SM7> 3/4/93 RC Took out hasPSC from RISC build
|
|
# <SM6> 3/2/93 SAM Removed SerialIOP.rsrc.
|
|
# <SM5> 3/2/93 RC Changed Build Version to D5E1 (Development version 5,
|
|
# Engineering Build 1
|
|
# <SM4> 2/22/93 RC Took out hasLCDScreen feature
|
|
# <SM3> 2/22/93 RC Added I2c Resources
|
|
# <SM2> 2/22/93 CSS Correct spelling of Resource (from Resoruce).
|
|
# <SM13> 2/6/93 RC Cleaned up Features list a little
|
|
# <SM12> 2/4/93 RC Added PDMMaceDir define to make file
|
|
# <SM11> 2/4/93 dwc Add PDM ENET driver rsrc.
|
|
# <SM10> 2/2/93 GMR Added hasSwim3 feature.
|
|
# <SM9> 1/19/93 RC Getting ready to build D4 ROM and I want the Release number to
|
|
# reflect this. 10D3 -> 10D4
|
|
# <SM8> 1/10/93 RC Added Emulator Acceleration Resource
|
|
# <SM7> 12/29/92 HY Removed hasNewSoundMgr feature flag. Reverting back to 7.1 snd mgr.
|
|
# <SM6> 12/23/92 RC GoNativeResource added back in
|
|
# <SM5> 12/17/92 RC Made sure that the New ROM has the correct - ROMRelease=$10D3
|
|
# <SM4> 12/17/92 RB Added the variable subRelease and the features hasCPUIDRegister,
|
|
# hasHMC.
|
|
# <SM3> 12/12/92 RC Copied Craig's changes to the SuperMario make file to the RISC
|
|
# file so we will not need Runtime.o also
|
|
# <SM2> 12/11/92 kc Remove the post build beeps.
|
|
#
|
|
|
|
BuildDir = {Sources}BuildResults:RISC:
|
|
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:
|
|
|
|
|
|
MAOpts = -d TRUE=1 -d FALSE=0 -d Alignment=8 -d CPU=20 -d ROMRelease=$45F6 -wb -d SubRelease=1 -blksize 62
|
|
MCOpts = -d TRUE=1 -d FALSE=0 -d Alignment=8 -d CPU=20 -d ROMRelease=$45F6 -b3 -mbg full -mc68020 -blksize 62 -opt full
|
|
MPOpts = -mbg full -mc68020
|
|
|
|
RomBase = $FFC00000
|
|
|
|
Features = hasRISCV0ResMgrPatches ¶
|
|
hasDoubleByte ¶
|
|
SupportNativeComponents ¶
|
|
Script_Char_Extra ¶
|
|
hasPenFraction ¶
|
|
hasFullKerning ¶
|
|
hasGlyphState ¶
|
|
hasPDMMaceEnet ¶
|
|
hasMixedMode ¶
|
|
nonSerializedIO ¶
|
|
hasSCSIDiskModeFeature ¶
|
|
hasCPUIDRegister ¶
|
|
has2MegROMOrMore ¶
|
|
hasAsyncSCSI ¶
|
|
BadBlockSparingEnabled ¶
|
|
CubeE ¶
|
|
IopADB ¶
|
|
OssADB ¶
|
|
PwrMgrADB ¶
|
|
SystemSevenOrLater ¶
|
|
SystemSixOrLater ¶
|
|
ViaADB ¶
|
|
forADBKeyboards ¶
|
|
forAppleTalk20 ¶
|
|
forLocalizability ¶
|
|
hasADBKeyLayouts ¶
|
|
hasAliasMgr ¶
|
|
hasAppleEventMgr ¶
|
|
hasBalloonHelp ¶
|
|
hasBattery ¶
|
|
hasCommToolbox ¶
|
|
hasCQD ¶
|
|
hasDisplayMgr ¶
|
|
hasDisplayMgrWindows ¶
|
|
hasEDisk ¶
|
|
hasEgret ¶
|
|
hasExtendedCharacterSet ¶
|
|
hasGDU ¶
|
|
hasIdle ¶
|
|
hasProtectedPRAM ¶
|
|
hasSCSI96 ¶
|
|
hasSWIM2 ¶
|
|
hasSlotMgr ¶
|
|
hasSplineFonts ¶
|
|
hasVDAC ¶
|
|
hasVIAClock ¶
|
|
hasVISA2 ¶
|
|
hasWaimeaVIA2 ¶
|
|
isUniversal ¶
|
|
hasPwrControls ¶
|
|
hasPwrMgrClock ¶
|
|
hasSplineFonts ¶
|
|
hasVIAClock ¶
|
|
hasWaimeaVIA2 ¶
|
|
NewBuildSystem ¶
|
|
isUniversal ¶
|
|
onHafMac ¶
|
|
onMac32 ¶
|
|
onNuMac ¶
|
|
hasBCScreen ¶
|
|
hasMMU ¶
|
|
ForROM
|
|
|
|
|
|
ResourceFiles = "{MiscDir}ATAMgr.rsrc" ¶
|
|
"{MiscDir}BCScreen.rsrc" ¶
|
|
"{RsrcDir}CQD.rsrc" ¶
|
|
"{RsrcDir}DeclData" ¶
|
|
"{MiscDir}DriverServices.rsrc" ¶
|
|
"{RsrcDir}EDisk.rsrc" ¶
|
|
"{MiscDir}FireWire.rsrc" ¶
|
|
"{RsrcDir}Gibbly.rsrc" ¶
|
|
"{MiscDir}GoNativeResources" ¶
|
|
"{MiscDir}EmulatorAccelerations.rsrc" ¶
|
|
"{MiscDir}LANDisk.rsrc" ¶
|
|
"{RsrcDir}MainCode.Rsrc" ¶
|
|
"{MiscDir}MediaBay.rsrc" ¶
|
|
"{RsrcDir}MiscROMRsrcs.rsrc" ¶
|
|
"{MiscDir}MultiprocessingServices.rsrc" ¶
|
|
"{MiscDir}NativeItt.rsrc" ¶
|
|
"{MiscDir}NativeNub.rsrc" ¶
|
|
"{MiscDir}PCCard.rsrc" ¶
|
|
"{MiscDir}PowerMgr.rsrc" ¶
|
|
"{RsrcDir}ROMFonts.rsrc" ¶
|
|
"{RsrcDir}RomLayout.Rsrc" ¶
|
|
"{RsrcDir}InSaneNFPU.rsrc" ¶
|
|
"{RsrcDir}SANE.rsrc" ¶
|
|
"{MiscDir}SerialDMA.rsrc" ¶
|
|
"{MiscDir}USB.rsrc" ¶
|
|
"{RsrcDir}kbd.rsrc"
|
|
|
|
|
|
RomMondo Ä FeatureSet "{ImageDir}RomMondo"
|
|
|
|
|
|
"{ImageDir}RomMondo" Ä {ResourceFiles} "{ToolDir}RomLayout"
|
|
RomLayout -mf "{RsrcDir}RomLayout.Rsrc" -o "{Targ}" -log "{ImageDir}RomInfo"
|
|
|
|
|
|
LinkRomImage Ä # target for partial builds
|
|
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 StdAOpts "{MAOpts} {FeatureSet} -i {IntAIncludes} {AOpts} -i {ObjDir}"
|
|
Set StdCOpts "{MCOpts} {FeatureSet} -i {IntCIncludes} {COpts}"
|
|
Set StdCPOpts "{MCPOpts} {FeatureSet} -i {IntCIncludes} {COpts}"
|
|
Set StdPOpts "{MPOpts} {FeatureSet} {POpts} -i {IntPInterfaces} -r"
|
|
Set StdROpts "{FeatureSet} {ROpts} -i {IntRIncludes} -i {RIncludes}"
|
|
Set StdLOpts "{LOpts} -mf -t rsrc -c RSED -sg Main"
|
|
Set StdLibOpts "{LibOpts} -mf"
|
|
Set StdAlign "{Align} -ac 16 -ad 16"
|
|
Set StdVOpts "{VOpts}"
|
|
Set StdEquAOpts "`{MakeDir}CreateStdEquAOptions "{FeatureSet}"`" ; Export StdEquAOpts
|
|
|
|
|
|
"{RsrcDir}RomLayout.Rsrc" Ä "{MakeDir}RiscLayout.r" "{ResourceDir}RomResources.r" "{IntRIncludes}RomTypes.r"
|
|
Rez {StdROpts} "{MakeDir}RiscLayout.r" -i "{ResourceDir}" -o "{targ}" -d RomBase={RomBase} -c RSED -t rsrc
|
|
|
|
|
|
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
|
|
|
|
.p.o Ä .p
|
|
{Pascal} {StdPOpts} -o {Targ} {DepDir}{Default}.p
|
|
|
|
.cp.o Ä .c
|
|
{CPlus} {StdCPOpts} -o {Targ} {DepDir}{Default}.cp
|
|
|
|
#include {ToolSrcDir}Tools.make
|
|
|
|
#include {DriverDir}Drivers.make
|
|
|
|
#include {MakeDir}MainCode.make
|
|
|
|
#include {DeclDir}DeclData.make
|
|
|
|
#include {ResourceDir}Resources.make
|