#!/usr/bin/env python3 ### # Generates build files for the project. # This file also includes the project configuration, # such as compiler flags and the object matching status. # # Usage: # python3 configure.py # ninja # # Append --help to see available options. ### import argparse import sys from pathlib import Path from typing import Any, Dict, List from tools.project import ( Object, ProjectConfig, calculate_progress, generate_build, is_windows, ) # Game versions DEFAULT_VERSION = 0 VERSIONS = [ "GQPE78", # 0 ] parser = argparse.ArgumentParser() parser.add_argument( "mode", choices=["configure", "progress"], default="configure", help="script mode (default: configure)", nargs="?", ) parser.add_argument( "-v", "--version", choices=VERSIONS, type=str.upper, default=VERSIONS[DEFAULT_VERSION], help="version to build", ) parser.add_argument( "--build-dir", metavar="DIR", type=Path, default=Path("build"), help="base build directory (default: build)", ) parser.add_argument( "--binutils", metavar="BINARY", type=Path, help="path to binutils (optional)", ) parser.add_argument( "--compilers", metavar="DIR", type=Path, help="path to compilers (optional)", ) parser.add_argument( "--map", action="store_true", help="generate map file(s)", ) parser.add_argument( "--no-asm", action="store_true", help="don't incorporate .s files from asm directory", ) parser.add_argument( "--debug", action="store_true", help="build with debug info (non-matching)", ) if not is_windows(): parser.add_argument( "--wrapper", metavar="BINARY", type=Path, help="path to wibo or wine (optional)", ) parser.add_argument( "--dtk", metavar="BINARY | DIR", type=Path, help="path to decomp-toolkit binary or source (optional)", ) parser.add_argument( "--sjiswrap", metavar="EXE", type=Path, help="path to sjiswrap.exe (optional)", ) parser.add_argument( "--verbose", action="store_true", help="print verbose output", ) parser.add_argument( "--non-matching", dest="non_matching", action="store_true", help="builds equivalent (but non-matching) or modded objects", ) args = parser.parse_args() config = ProjectConfig() config.version = str(args.version) version_num = VERSIONS.index(config.version) # Apply arguments config.build_dir = args.build_dir config.dtk_path = args.dtk config.binutils_path = args.binutils config.compilers_path = args.compilers config.debug = args.debug config.generate_map = args.map config.non_matching = args.non_matching config.sjiswrap_path = args.sjiswrap if not is_windows(): config.wrapper = args.wrapper if args.no_asm: config.asm_dir = None # Tool versions config.binutils_tag = "2.42-1" config.compilers_tag = "20240702" config.dtk_tag = "v0.9.0" config.sjiswrap_tag = "v1.1.1" config.wibo_tag = "0.6.11" # Project config.config_path = Path("config") / config.version / "config.yml" config.check_sha_path = Path("config") / config.version / "build.sha1" config.asflags = [ "-mgekko", "--strip-local-absolute", "-I include", f"-I build/{config.version}/include", f"--defsym version={version_num}", ] config.ldflags = [ "-fp hardware", "-nodefaults", "-warn off", # "-listclosure", # Uncomment for Wii linkers ] # Use for any additional files that should cause a re-configure when modified config.reconfig_deps = [] # Base flags, common to most GC/Wii games. # Generally leave untouched, with overrides added below. cflags_base = [ "-nodefaults", "-proc gekko", "-align powerpc", "-enum int", "-fp hardware", "-Cpp_exceptions off", # "-W all", "-O4,p", "-inline auto", '-pragma "cats off"', '-pragma "warn_notinlined off"', "-maxerrors 1", "-nosyspath", "-RTTI off", "-fp_contract on", "-str reuse", "-multibyte", # For Wii compilers, replace with `-enc SJIS` "-i include", f"-i build/{config.version}/include", f"-DVERSION={version_num}", ] # Debug flags if config.debug: cflags_base.extend(["-sym on", "-DDEBUG=1"]) else: cflags_base.append("-DNDEBUG=1") # Metrowerks library flags cflags_runtime = [ *cflags_base, "-use_lmw_stmw on", "-str reuse,pool,readonly", "-gccinc", "-common off", "-inline auto", ] # REL flags cflags_rel = [ *cflags_base, "-sdata 0", "-sdata2 0", ] # Game-specific flags cflags_bfbb = [ *cflags_base, "-common on", "-char unsigned", "-str reuse,pool,readonly", "-use_lmw_stmw on", '-pragma "cpp_extensions on"', "-inline off", "-gccinc", "-i include/bink", "-i include/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include", "-i include/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include", "-i include/dolphin", "-i include/inline", "-i include/rwsdk", "-i src/SB/Core/gc", "-i src/SB/Core/x", "-i src/SB/Game", "-DGAMECUBE", ] config.linker_version = "GC/2.0p1" # Helper function for Dolphin libraries def DolphinLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]: return { "lib": lib_name, "mw_version": "GC/1.2.5n", "cflags": cflags_base, "host": False, "objects": objects, } # Helper function for RenderWare libraries def RenderWareLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]: return { "lib": lib_name, "mw_version": "GC/1.3.2", "cflags": cflags_base, "host": False, "objects": objects, } # Helper function for REL script objects def Rel(lib_name: str, objects: List[Object]) -> Dict[str, Any]: return { "lib": lib_name, "mw_version": "GC/1.3.2", "cflags": cflags_rel, "host": True, "objects": objects, } Matching = True # Object matches and should be linked NonMatching = False # Object does not match and should not be linked Equivalent = config.non_matching # Object should be linked when configured with --non-matching config.warn_missing_config = True config.warn_missing_source = False config.libs = [ { "lib": "SB", "mw_version": config.linker_version, "cflags": cflags_bfbb, "host": True, "objects": [ Object(NonMatching, "SB/Core/x/xAnim.cpp"), Object(Matching, "SB/Core/x/xBase.cpp"), Object(Matching, "SB/Core/x/xbinio.cpp"), Object(NonMatching, "SB/Core/x/xBound.cpp"), Object(NonMatching, "SB/Core/x/xCamera.cpp"), Object(NonMatching, "SB/Core/x/xClimate.cpp"), Object(NonMatching, "SB/Core/x/xCollide.cpp"), Object(NonMatching, "SB/Core/x/xCollideFast.cpp"), Object(NonMatching, "SB/Core/x/xColor.cpp"), Object(Matching, "SB/Core/x/xCounter.cpp"), Object(NonMatching, "SB/Core/x/xCutscene.cpp"), Object(NonMatching, "SB/Core/x/xDebug.cpp"), Object(NonMatching, "SB/Core/x/xEnt.cpp"), Object(NonMatching, "SB/Core/x/xEntDrive.cpp"), Object(NonMatching, "SB/Core/x/xEntMotion.cpp"), Object(NonMatching, "SB/Core/x/xEnv.cpp"), Object(NonMatching, "SB/Core/x/xEvent.cpp"), # breaks build Object(NonMatching, "SB/Core/x/xFFX.cpp"), Object(Equivalent, "SB/Core/x/xFog.cpp"), Object(NonMatching, "SB/Core/x/xFont.cpp"), Object(NonMatching, "SB/Core/x/xFX.cpp"), Object(Matching, "SB/Core/x/xGroup.cpp"), Object(Matching, "SB/Core/x/xhipio.cpp"), Object(NonMatching, "SB/Core/x/xHud.cpp"), Object(NonMatching, "SB/Core/x/xHudFontMeter.cpp"), Object(NonMatching, "SB/Core/x/xHudMeter.cpp"), Object(NonMatching, "SB/Core/x/xHudModel.cpp"), Object(NonMatching, "SB/Core/x/xHudUnitMeter.cpp"), Object(Matching, "SB/Core/x/xIni.cpp"), Object(NonMatching, "SB/Core/x/xMath.cpp"), Object(NonMatching, "SB/Core/x/xMath2.cpp"), Object(NonMatching, "SB/Core/x/xMath3.cpp"), Object(NonMatching, "SB/Core/x/xMemMgr.cpp"), Object(NonMatching, "SB/Core/x/xModel.cpp"), Object(NonMatching, "SB/Core/x/xMorph.cpp"), Object(NonMatching, "SB/Core/x/xMovePoint.cpp"), Object(NonMatching, "SB/Core/x/xordarray.cpp"), Object(NonMatching, "SB/Core/x/xPad.cpp"), Object(NonMatching, "SB/Core/x/xPar.cpp"), Object(NonMatching, "SB/Core/x/xParCmd.cpp"), Object(NonMatching, "SB/Core/x/xParGroup.cpp"), Object(NonMatching, "SB/Core/x/xParMgr.cpp"), Object(NonMatching, "SB/Core/x/xPartition.cpp"), Object(NonMatching, "SB/Core/x/xpkrsvc.cpp"), Object(NonMatching, "SB/Core/x/xQuickCull.cpp"), Object(Matching, "SB/Core/x/xsavegame.cpp"), Object(NonMatching, "SB/Core/x/xScene.cpp"), Object(NonMatching, "SB/Core/x/xScrFx.cpp"), Object(NonMatching, "SB/Core/x/xserializer.cpp"), Object(NonMatching, "SB/Core/x/xSFX.cpp"), Object(NonMatching, "SB/Core/x/xShadow.cpp"), Object(NonMatching, "SB/Core/x/xSnd.cpp"), Object(NonMatching, "SB/Core/x/xSpline.cpp"), Object(NonMatching, "SB/Core/x/xstransvc.cpp"), Object(NonMatching, "SB/Core/x/xString.cpp"), Object(Matching, "SB/Core/x/xSurface.cpp"), Object(NonMatching, "SB/Core/x/xTimer.cpp"), Object(NonMatching, "SB/Core/x/xTRC.cpp"), Object(Matching, "SB/Core/x/xutil.cpp"), Object(NonMatching, "SB/Core/x/xVec3.cpp"), Object(NonMatching, "SB/Game/zActionLine.cpp"), Object(Equivalent, "SB/Game/zAnimList.cpp"), Object(NonMatching, "SB/Game/zAssetTypes.cpp"), Object(NonMatching, "SB/Game/zCamera.cpp"), Object(NonMatching, "SB/Game/zConditional.cpp"), Object(NonMatching, "SB/Game/zCutsceneMgr.cpp"), Object(NonMatching, "SB/Game/zDispatcher.cpp"), Object(NonMatching, "SB/Game/zEGenerator.cpp"), Object(NonMatching, "SB/Game/zEnt.cpp"), Object(NonMatching, "SB/Game/zEntButton.cpp"), Object(NonMatching, "SB/Game/zEntCruiseBubble.cpp"), Object(NonMatching, "SB/Game/zEntDestructObj.cpp"), Object(NonMatching, "SB/Game/zEntHangable.cpp"), Object(NonMatching, "SB/Game/zEntPickup.cpp"), Object(NonMatching, "SB/Game/zEntPlayer.cpp"), Object(NonMatching, "SB/Game/zEntSimpleObj.cpp"), Object(NonMatching, "SB/Game/zEntTrigger.cpp"), Object(Matching, "SB/Game/zEnv.cpp"), Object(Matching, "SB/Game/zEvent.cpp"), Object(Matching, "SB/Game/zFeet.cpp"), Object(Matching, "SB/Game/zFMV.cpp"), Object(NonMatching, "SB/Game/zFX.cpp"), Object(NonMatching, "SB/Game/zGame.cpp"), Object(Equivalent, "SB/Game/zGameExtras.cpp"), Object(NonMatching, "SB/Game/zGameState.cpp"), Object(NonMatching, "SB/Game/zGust.cpp"), Object(NonMatching, "SB/Game/zHud.cpp"), Object(NonMatching, "SB/Game/zLasso.cpp"), Object(NonMatching, "SB/Game/zLight.cpp"), Object(NonMatching, "SB/Game/zLightEffect.cpp"), Object(NonMatching, "SB/Game/zLightning.cpp"), Object(NonMatching, "SB/Game/zLOD.cpp"), Object(NonMatching, "SB/Game/zMain.cpp"), Object(Equivalent, "SB/Game/zMenu.cpp"), Object(NonMatching, "SB/Game/zMovePoint.cpp"), Object(NonMatching, "SB/Game/zMusic.cpp"), Object(Equivalent, "SB/Game/zParCmd.cpp"), Object(Matching, "SB/Game/zParEmitter.cpp"), Object(NonMatching, "SB/Game/zPendulum.cpp"), Object(Matching, "SB/Game/zPickupTable.cpp"), Object(NonMatching, "SB/Game/zPlatform.cpp"), Object(Matching, "SB/Game/zPortal.cpp"), Object(Matching, "SB/Game/zRenderState.cpp"), Object(NonMatching, "SB/Game/zRumble.cpp"), Object(Equivalent, "SB/Game/zSaveLoad.cpp"), Object(NonMatching, "SB/Game/zScene.cpp"), Object(Matching, "SB/Game/zScript.cpp"), Object(NonMatching, "SB/Game/zSurface.cpp"), Object(NonMatching, "SB/Game/zThrown.cpp"), Object(NonMatching, "SB/Game/zUI.cpp"), Object(NonMatching, "SB/Game/zUIFont.cpp"), Object(NonMatching, "SB/Game/zVar.cpp"), Object(NonMatching, "SB/Game/zVolume.cpp"), Object(NonMatching, "SB/Core/gc/iAnim.cpp"), Object(NonMatching, "SB/Core/gc/iAnimSKB.cpp"), Object(NonMatching, "SB/Core/x/iCamera.cpp"), Object(NonMatching, "SB/Core/gc/iCollide.cpp"), Object(Matching, "SB/Core/gc/iCollideFast.cpp"), Object(Matching, "SB/Core/gc/iDraw.cpp"), Object(NonMatching, "SB/Core/gc/iEnv.cpp"), Object(NonMatching, "SB/Core/gc/iFile.cpp"), Object(NonMatching, "SB/Core/gc/iFMV.cpp"), Object(NonMatching, "SB/Core/gc/iFX.cpp"), Object(NonMatching, "SB/Core/gc/iLight.cpp"), Object(Matching, "SB/Core/gc/iMath.cpp"), Object(NonMatching, "SB/Core/gc/iMath3.cpp"), Object(NonMatching, "SB/Core/gc/iMemMgr.cpp"), Object(NonMatching, "SB/Core/gc/iMix.c"), Object(NonMatching, "SB/Core/gc/iModel.cpp"), Object(NonMatching, "SB/Core/gc/iMorph.cpp"), Object(NonMatching, "SB/Core/gc/iPad.cpp"), Object(NonMatching, "SB/Core/gc/iParMgr.cpp"), Object(NonMatching, "SB/Core/gc/isavegame.cpp"), Object(NonMatching, "SB/Core/gc/iScrFX.cpp"), Object(NonMatching, "SB/Core/gc/iSnd.cpp"), Object(NonMatching, "SB/Core/gc/iSystem.cpp"), Object(Matching, "SB/Core/gc/iTime.cpp"), Object(NonMatching, "SB/Core/gc/ngcrad3d.c"), Object(Matching, "SB/Game/zNPCGoals.cpp"), Object(NonMatching, "SB/Game/zNPCGoalCommon.cpp"), # wrong function order Object(NonMatching, "SB/Game/zNPCGoalStd.cpp"), Object(NonMatching, "SB/Game/zNPCGoalRobo.cpp"), Object(NonMatching, "SB/Game/zNPCGoalTiki.cpp"), Object(NonMatching, "SB/Game/zNPCMessenger.cpp"), Object(NonMatching, "SB/Game/zNPCMgr.cpp"), Object(Matching, "SB/Game/zNPCTypes.cpp"), Object(NonMatching, "SB/Game/zNPCTypeCommon.cpp"), Object(NonMatching, "SB/Game/zNPCTypeRobot.cpp"), Object(NonMatching, "SB/Game/zNPCTypeVillager.cpp"), Object(NonMatching, "SB/Game/zNPCTypeAmbient.cpp"), Object(NonMatching, "SB/Game/zNPCTypeTiki.cpp"), Object(NonMatching, "SB/Core/x/xBehaveMgr.cpp"), Object(NonMatching, "SB/Core/x/xBehaviour.cpp"), # breaks build (weak functions) Object(NonMatching, "SB/Core/x/xBehaveGoalSimple.cpp"), # breaks build (weak functions) Object(NonMatching, "SB/Core/x/xSkyDome.cpp"), Object(NonMatching, "SB/Core/x/xRMemData.cpp"), Object(Matching, "SB/Core/x/xFactory.cpp"), Object(NonMatching, "SB/Core/x/xNPCBasic.cpp"), Object(NonMatching, "SB/Game/zEntPlayerBungeeState.cpp"), Object(NonMatching, "SB/Game/zCollGeom.cpp"), Object(NonMatching, "SB/Core/x/xParSys.cpp"), Object(NonMatching, "SB/Core/x/xParEmitter.cpp"), Object(Matching, "SB/Core/x/xVolume.cpp"), Object(NonMatching, "SB/Core/x/xParEmitterType.cpp"), Object(NonMatching, "SB/Core/x/xRenderState.cpp"), Object(NonMatching, "SB/Game/zEntPlayerOOBState.cpp"), Object(NonMatching, "SB/Core/x/xClumpColl.cpp"), Object(NonMatching, "SB/Core/x/xEntBoulder.cpp"), Object(NonMatching, "SB/Core/x/xGrid.cpp"), Object(NonMatching, "SB/Core/x/xJSP.cpp"), Object(NonMatching, "SB/Core/x/xLightKit.cpp"), Object(Matching, "SB/Game/zCamMarker.cpp"), Object(NonMatching, "SB/Game/zGoo.cpp"), Object(NonMatching, "SB/Game/zGrid.cpp"), Object(NonMatching, "SB/Game/zNPCGoalScript.cpp"), Object(NonMatching, "SB/Game/zNPCSndTable.cpp"), Object(NonMatching, "SB/Game/zNPCSndLists.cpp"), Object(NonMatching, "SB/Game/zNPCTypeDuplotron.cpp"), Object(NonMatching, "SB/Core/x/xModelBucket.cpp"), Object(NonMatching, "SB/Game/zShrapnel.cpp"), Object(NonMatching, "SB/Game/zNPCGoalDuplotron.cpp"), Object(NonMatching, "SB/Game/zNPCSpawner.cpp"), Object(NonMatching, "SB/Game/zEntTeleportBox.cpp"), Object(NonMatching, "SB/Game/zBusStop.cpp"), Object(NonMatching, "SB/Game/zNPCSupport.cpp"), Object(NonMatching, "SB/Game/zTalkBox.cpp"), Object(NonMatching, "SB/Game/zTextBox.cpp"), Object(NonMatching, "SB/Game/zTaskBox.cpp"), Object(NonMatching, "SB/Core/gc/iCutscene.cpp"), Object(NonMatching, "SB/Game/zNPCTypeTest.cpp"), Object(NonMatching, "SB/Game/zNPCTypeSubBoss.cpp"), Object(NonMatching, "SB/Game/zNPCTypeBoss.cpp"), Object(NonMatching, "SB/Game/zNPCGoalVillager.cpp"), Object(NonMatching, "SB/Game/zNPCGoalSubBoss.cpp"), Object(NonMatching, "SB/Core/x/xShadowSimple.cpp"), Object(NonMatching, "SB/Core/x/xUpdateCull.cpp"), Object(NonMatching, "SB/Game/zDiscoFloor.cpp"), Object(NonMatching, "SB/Game/zNPCTypeBossSandy.cpp"), Object(NonMatching, "SB/Game/zNPCTypeKingJelly.cpp"), Object(Matching, "SB/Game/zNPCGoalBoss.cpp"), Object(NonMatching, "SB/Game/zNPCTypePrawn.cpp"), Object(NonMatching, "SB/Game/zNPCTypeBossSB1.cpp"), Object(NonMatching, "SB/Game/zNPCTypeBossSB2.cpp"), Object(Matching, "SB/Core/x/xJaw.cpp"), Object(NonMatching, "SB/Game/zNPCTypeBossPatrick.cpp"), Object(NonMatching, "SB/Game/zNPCTypeBossPlankton.cpp"), Object(NonMatching, "SB/Game/zParPTank.cpp"), Object(Equivalent, "SB/Game/zTaxi.cpp"), Object(NonMatching, "SB/Game/zNPCTypeDutchman.cpp"), Object(Matching, "SB/Game/zCameraFly.cpp"), Object(Matching, "SB/Core/x/xCurveAsset.cpp"), Object(NonMatching, "SB/Core/x/xDecal.cpp"), Object(NonMatching, "SB/Core/x/xLaserBolt.cpp"), Object(NonMatching, "SB/Game/zCameraTweak.cpp"), Object(NonMatching, "SB/Core/x/xPtankPool.cpp"), Object(NonMatching, "SB/Core/gc/iTRC.cpp"), Object(NonMatching, "SB/Game/zNPCSupplement.cpp"), Object(NonMatching, "SB/Game/zNPCGlyph.cpp"), Object(NonMatching, "SB/Game/zNPCHazard.cpp"), Object(NonMatching, "SB/Game/zNPCGoalAmbient.cpp"), Object(NonMatching, "SB/Game/zNPCFXCinematic.cpp"), Object(NonMatching, "SB/Core/x/xHudText.cpp"), Object(NonMatching, "SB/Game/zCombo.cpp"), Object(NonMatching, "SB/Core/x/xCM.cpp"), ], }, { "lib": "binkngc", "mw_version": "GC/1.3.2", "cflags": cflags_runtime, "host": False, "objects": [ Object(NonMatching, "bink/src/sdk/decode/ngc/binkngc.c"), Object(NonMatching, "bink/src/sdk/decode/ngc/ngcsnd.c"), Object(NonMatching, "bink/src/sdk/decode/binkread.c"), Object(NonMatching, "bink/src/sdk/decode/ngc/ngcfile.c"), Object(NonMatching, "bink/src/sdk/decode/yuv.cpp"), Object(NonMatching, "bink/src/sdk/decode/binkacd.c"), Object(NonMatching, "bink/shared/time/radcb.c"), Object(NonMatching, "bink/src/sdk/decode/expand.c"), Object(NonMatching, "bink/src/sdk/popmal.c"), Object(NonMatching, "bink/src/sdk/decode/ngc/ngcrgb.c"), Object(NonMatching, "bink/src/sdk/decode/ngc/ngcyuy2.c"), Object(NonMatching, "bink/src/sdk/varbits.c"), Object(NonMatching, "bink/src/sdk/fft.c"), Object(NonMatching, "bink/src/sdk/dct.c"), Object(NonMatching, "bink/src/sdk/bitplane.c"), ], }, DolphinLib( "ai", [ Object(NonMatching, "dolphin/ai/src/ai.c"), ], ), DolphinLib( "amcstubs", [ Object(NonMatching, "dolphin/amcstubs/src/AmcExi2Stubs.c"), ], ), DolphinLib( "ar", [ Object(NonMatching, "dolphin/ar/src/ar.c"), Object(NonMatching, "dolphin/ar/src/arq.c"), ], ), DolphinLib( "ax", [ Object(NonMatching, "dolphin/ax/src/AX.c"), Object(NonMatching, "dolphin/ax/src/AXAlloc.c"), Object(NonMatching, "dolphin/ax/src/AXAux.c"), Object(NonMatching, "dolphin/ax/src/AXCL.c"), Object(NonMatching, "dolphin/ax/src/AXOut.c"), Object(NonMatching, "dolphin/ax/src/AXSPB.c"), Object(NonMatching, "dolphin/ax/src/AXVPB.c"), Object(NonMatching, "dolphin/ax/src/AXComp.c"), Object(NonMatching, "dolphin/ax/src/DSPCode.c"), Object(NonMatching, "dolphin/ax/src/AXProf.c"), ], ), DolphinLib( "base", [ Object(NonMatching, "dolphin/base/src/PPCArch.c"), ], ), DolphinLib( "card", [ Object(NonMatching, "dolphin/card/src/CARDBios.c"), Object(NonMatching, "dolphin/card/src/CARDUnlock.c"), Object(NonMatching, "dolphin/card/src/CARDRdwr.c"), Object(NonMatching, "dolphin/card/src/CARDBlock.c"), Object(NonMatching, "dolphin/card/src/CARDDir.c"), Object(NonMatching, "dolphin/card/src/CARDCheck.c"), Object(NonMatching, "dolphin/card/src/CARDMount.c"), Object(NonMatching, "dolphin/card/src/CARDFormat.c"), Object(NonMatching, "dolphin/card/src/CARDOpen.c"), Object(NonMatching, "dolphin/card/src/CARDCreate.c"), Object(NonMatching, "dolphin/card/src/CARDRead.c"), Object(NonMatching, "dolphin/card/src/CARDWrite.c"), Object(NonMatching, "dolphin/card/src/CARDDelete.c"), Object(NonMatching, "dolphin/card/src/CARDStat.c"), Object(NonMatching, "dolphin/card/src/CARDStatEx.c"), Object(NonMatching, "dolphin/card/src/CARDNet.c"), ], ), DolphinLib( "db", [ Object(NonMatching, "dolphin/db/src/db.c"), ], ), DolphinLib( "dsp", [ Object(NonMatching, "dolphin/dsp/src/dsp.c"), Object(NonMatching, "dolphin/dsp/src/dsp_debug.c"), Object(NonMatching, "dolphin/dsp/src/dsp_task.c"), ], ), DolphinLib( "dvd", [ Object(NonMatching, "dolphin/dvd/src/dvdlow.c"), Object(NonMatching, "dolphin/dvd/src/dvdfs.c"), Object(NonMatching, "dolphin/dvd/src/dvd.c"), Object(NonMatching, "dolphin/dvd/src/dvdqueue.c"), Object(NonMatching, "dolphin/dvd/src/dvderror.c"), Object(NonMatching, "dolphin/dvd/src/dvdidutils.c"), Object(NonMatching, "dolphin/dvd/src/dvdFatal.c"), Object(NonMatching, "dolphin/dvd/src/emu_level2/fstload.c"), ], ), DolphinLib( "exi", [ Object(NonMatching, "dolphin/exi/src/EXIBios.c"), Object(NonMatching, "dolphin/exi/src/EXIUart.c"), ], ), DolphinLib( "gx", [ Object(NonMatching, "dolphin/gx/src/GXInit.c"), Object(NonMatching, "dolphin/gx/src/GXFifo.c"), Object(NonMatching, "dolphin/gx/src/GXAttr.c"), Object(NonMatching, "dolphin/gx/src/GXMisc.c"), Object(NonMatching, "dolphin/gx/src/GXGeometry.c"), Object(NonMatching, "dolphin/gx/src/GXFrameBuf.c"), Object(NonMatching, "dolphin/gx/src/GXLight.c"), Object(NonMatching, "dolphin/gx/src/GXTexture.c"), Object(NonMatching, "dolphin/gx/src/GXBump.c"), Object(NonMatching, "dolphin/gx/src/GXTev.c"), Object(NonMatching, "dolphin/gx/src/GXPixel.c"), Object(NonMatching, "dolphin/gx/src/GXDisplayList.c"), Object(NonMatching, "dolphin/gx/src/GXTransform.c"), Object(NonMatching, "dolphin/gx/src/GXPerf.c"), ], ), DolphinLib( "mtx", [ Object(NonMatching, "dolphin/mtx/src/mtx.c"), Object(NonMatching, "dolphin/mtx/src/mtx44.c"), ], ), DolphinLib( "odenotstub", [ Object(NonMatching, "dolphin/odenotstub/src/odenotstub.c"), ], ), DolphinLib( "os", [ Object(NonMatching, "dolphin/os/src/OS.c"), Object(NonMatching, "dolphin/os/src/OSAlarm.c"), Object(NonMatching, "dolphin/os/src/OSAlloc.c"), Object(NonMatching, "dolphin/os/src/OSArena.c"), Object(NonMatching, "dolphin/os/src/OSAudioSystem.c"), Object(NonMatching, "dolphin/os/src/OSCache.c"), Object(NonMatching, "dolphin/os/src/OSContext.c"), Object(NonMatching, "dolphin/os/src/OSError.c"), Object(NonMatching, "dolphin/os/src/OSFont.c"), Object(NonMatching, "dolphin/os/src/OSInterrupt.c"), Object(NonMatching, "dolphin/os/src/OSLink.c"), Object(NonMatching, "dolphin/os/src/OSMemory.c"), Object(NonMatching, "dolphin/os/src/OSMutex.c"), Object(NonMatching, "dolphin/os/src/OSReboot.c"), Object(NonMatching, "dolphin/os/src/OSReset.c"), Object(NonMatching, "dolphin/os/src/OSResetSW.c"), Object(NonMatching, "dolphin/os/src/OSRtc.c"), Object(NonMatching, "dolphin/os/src/OSSync.c"), Object(NonMatching, "dolphin/os/src/OSThread.c"), Object(NonMatching, "dolphin/os/src/OSTime.c"), Object(NonMatching, "dolphin/os/src/init/__start.c"), Object(NonMatching, "dolphin/os/src/init/__ppc_eabi_init.cpp"), ], ), DolphinLib( "pad", [ Object(NonMatching, "dolphin/pad/src/Padclamp.c"), Object(NonMatching, "dolphin/pad/src/Pad.c"), ], ), DolphinLib( "si", [ Object(NonMatching, "dolphin/si/src/SIBios.c"), Object(NonMatching, "dolphin/si/src/SISamplingRate.c"), ], ), DolphinLib( "vi", [ Object(NonMatching, "dolphin/vi/src/vi.c"), ], ), { "lib": "Runtime.PPCEABI.H", "mw_version": config.linker_version, "cflags": cflags_runtime, "host": False, "objects": [ Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/__mem.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/abort_exit.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/alloc.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/errno.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ansi_files.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Src/ansi_fp.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/arith.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/buffer_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/char_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/SRC/critical_regions.gamecube.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/ctype.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/locale.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.C"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mbstring.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mem.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mem_funcs.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/misc_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/printf.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/qsort.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/rand.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/scanf.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/signal.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/string.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/float.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtold.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtoul.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Src/uart_console_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/wchar_io.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_acos.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_asin.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_atan2.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_exp.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_fmod.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_log.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_pow.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_rem_pio2.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_cos.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_rem_pio2.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_sin.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_tan.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_atan.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_ceil.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_copysign.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_cos.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_floor.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_frexp.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_ldexp.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_modf.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_sin.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_tan.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_acos.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_asin.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_atan2.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_exp.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_fmod.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_log.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_pow.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/SRC/math_ppc.c"), Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/extras.c"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/__va_arg.c"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/global_destructor_chain.c"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/CPlusLibPPC.cp"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/New.cp"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/NMWException.cp"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/runtime.c"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/__init_cpp_exceptions.cpp"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/Gecko_ExceptionPPC.cp"), Object(NonMatching, "PowerPC_EABI_Support/Runtime/Src/GCN_mem_alloc.c"), ], }, { "lib": "TRK_Minnow_Dolphin", "mw_version": "GC/1.3.2", "cflags": cflags_runtime, "host": False, "objects": [ Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/mainloop.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/nubevent.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/nubinit.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/msg.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/msgbuf.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/serpoll.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/usr_put.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/dispatch.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/msghndlr.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/support.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/mutex_TRK.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/notify.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/flush_cache.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/mem_TRK.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/targimpl.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Export/targsupp.s"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/__exception.s"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/ppc/Generic/mpc_7xx_603e.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Portable/main_TRK.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/dolphin_trk_glue.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/targcont.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/Os/dolphin/target_options.c"), Object(NonMatching, "TRK_MINNOW_DOLPHIN/MetroTRK/Export/mslsupp.c"), ], }, { "lib": "OdemuExi2", "mw_version": "GC/1.3.2", "cflags": cflags_runtime, "host": False, "objects": [ Object(NonMatching, "OdemuExi2/DebuggerDriver.c"), ], }, RenderWareLib( "rpcollis", [ Object(NonMatching, "rwsdk/plugin/collis/ctgeom.c"), Object(NonMatching, "rwsdk/plugin/collis/ctworld.c"), Object(NonMatching, "rwsdk/plugin/collis/ctbsp.c"), Object(NonMatching, "rwsdk/plugin/collis/rpcollis.c"), ], ), RenderWareLib( "rphanim", [ Object(NonMatching, "rwsdk/plugin/hanim/stdkey.c"), Object(NonMatching, "rwsdk/plugin/hanim/rphanim.c"), ], ), RenderWareLib( "rphanim", [ Object(NonMatching, "rwsdk/plugin/hanim/stdkey.c"), Object(NonMatching, "rwsdk/plugin/hanim/rphanim.c"), ], ), RenderWareLib( "rpmatfx", [ Object(NonMatching, "rwsdk/plugin/matfx/gcn/effectPipesGcn.c"), Object(NonMatching, "rwsdk/plugin/matfx/gcn/multiTexGcnData.c"), Object(NonMatching, "rwsdk/plugin/matfx/gcn/multiTexGcnPipe.c"), Object(NonMatching, "rwsdk/plugin/matfx/gcn/multiTexGcn.c"), Object(NonMatching, "rwsdk/plugin/matfx/multiTex.c"), Object(NonMatching, "rwsdk/plugin/matfx/multiTexEffect.c"), Object(NonMatching, "rwsdk/plugin/matfx/rpmatfx.c"), ], ), RenderWareLib( "rpptank", [ Object(NonMatching, "rwsdk/plugin/ptank/rpptank.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcncallbacks.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcnrender.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcntransforms.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_nc_ppm.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_cc_ppm.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_nc_cs_nr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_cc_cs_nr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_nc_pps_nr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_cc_pps_nr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_nc_cs_ppr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_cc_cs_ppr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_nc_pps_ppr.c"), Object(NonMatching, "rwsdk/plugin/ptank/gcn/ptankgcn_cc_pps_ppr.c"), ], ), RenderWareLib( "rpskinmatfx", [ Object(NonMatching, "rwsdk/plugin/skin2/bsplit.c"), Object(NonMatching, "rwsdk/plugin/skin2/rpskin.c"), Object(NonMatching, "rwsdk/plugin/skin2/gcn/skingcn.c"), Object(NonMatching, "rwsdk/plugin/skin2/gcn/skinstream.c"), Object(NonMatching, "rwsdk/plugin/skin2/gcn/instance/instanceskin.c"), Object(NonMatching, "rwsdk/plugin/skin2/gcn/skinmatrixblend.c"), Object(NonMatching, "rwsdk/plugin/skin2/gcn/skingcnasm.c"), Object(NonMatching, "rwsdk/plugin/skin2/gcn/skingcng.c"), ], ), RenderWareLib( "rpusrdat", [ Object(NonMatching, "rwsdk/plugin/userdata/rpusrdat.c"), ], ), RenderWareLib( "rpworld", [ Object(NonMatching, "rwsdk/world/babinwor.c"), Object(NonMatching, "rwsdk/world/baclump.c"), Object(NonMatching, "rwsdk/world/bageomet.c"), Object(NonMatching, "rwsdk/world/balight.c"), Object(NonMatching, "rwsdk/world/bamateri.c"), Object(NonMatching, "rwsdk/world/bamatlst.c"), Object(NonMatching, "rwsdk/world/bamesh.c"), Object(NonMatching, "rwsdk/world/bameshop.c"), Object(NonMatching, "rwsdk/world/basector.c"), Object(NonMatching, "rwsdk/world/baworld.c"), Object(NonMatching, "rwsdk/world/baworobj.c"), Object(NonMatching, "rwsdk/world/pipe/p2/bapipew.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/gcpipe.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/vtxfmt.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/wrldpipe.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/nodeGameCubeAtomicAllInOne.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/nodeGameCubeWorldSectorAllInOne.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/gclights.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/gcmorph.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/native.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/setup.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/geomcond.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/geominst.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/ibuffer.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/instancegeom.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/instanceworld.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/itools.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/vbuffer.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/vtools.c"), Object(NonMatching, "rwsdk/world/pipe/p2/gcn/instance/vtxdesc.c"), ], ), RenderWareLib( "rtanim", [ Object(NonMatching, "rwsdk/tool/anim/rtanim.c"), ], ), RenderWareLib( "rtintsec", [ Object(NonMatching, "rwsdk/tool/intsec/rtintsec.c"), ], ), RenderWareLib( "rtslerp", [ Object(NonMatching, "rwsdk/tool/slerp/rtslerp.c"), ], ), RenderWareLib( "rwcore", [ Object(NonMatching, "rwsdk/src/plcore/babinary.c"), Object(NonMatching, "rwsdk/src/plcore/bacolor.c"), Object(NonMatching, "rwsdk/src/plcore/baerr.c"), Object(NonMatching, "rwsdk/src/plcore/bafsys.c"), Object(NonMatching, "rwsdk/src/plcore/baimmedi.c"), Object(NonMatching, "rwsdk/src/plcore/bamatrix.c"), Object(NonMatching, "rwsdk/src/plcore/bamemory.c"), Object(NonMatching, "rwsdk/src/plcore/baresour.c"), Object(NonMatching, "rwsdk/src/plcore/bastream.c"), Object(NonMatching, "rwsdk/src/plcore/batkbin.c"), Object(NonMatching, "rwsdk/src/plcore/batkreg.c"), Object(NonMatching, "rwsdk/src/plcore/bavector.c"), Object(NonMatching, "rwsdk/src/plcore/resmem.c"), Object(NonMatching, "rwsdk/src/plcore/rwstring.c"), Object(NonMatching, "rwsdk/os/gcn/osintf.c"), Object(NonMatching, "rwsdk/src/babbox.c"), Object(NonMatching, "rwsdk/src/babincam.c"), Object(NonMatching, "rwsdk/src/babinfrm.c"), Object(NonMatching, "rwsdk/src/babintex.c"), Object(NonMatching, "rwsdk/src/bacamera.c"), Object(NonMatching, "rwsdk/src/badevice.c"), Object(NonMatching, "rwsdk/src/baframe.c"), Object(NonMatching, "rwsdk/src/baimage.c"), Object(NonMatching, "rwsdk/src/baimras.c"), Object(NonMatching, "rwsdk/src/baraster.c"), Object(NonMatching, "rwsdk/src/baresamp.c"), Object(NonMatching, "rwsdk/src/basync.c"), Object(NonMatching, "rwsdk/src/batextur.c"), Object(NonMatching, "rwsdk/src/batypehf.c"), Object(NonMatching, "rwsdk/driver/common/palquant.c"), Object(NonMatching, "rwsdk/driver/gcn/dl2drend.c"), Object(NonMatching, "rwsdk/driver/gcn/dlconvrt.c"), Object(NonMatching, "rwsdk/driver/gcn/dldevice.c"), Object(NonMatching, "rwsdk/driver/gcn/dlraster.c"), Object(NonMatching, "rwsdk/driver/gcn/dlrendst.c"), Object(NonMatching, "rwsdk/driver/gcn/dlsprite.c"), Object(NonMatching, "rwsdk/driver/gcn/dltexdic.c"), Object(NonMatching, "rwsdk/driver/gcn/dltextur.c"), Object(NonMatching, "rwsdk/driver/gcn/dltoken.c"), Object(NonMatching, "rwsdk/src/pipe/p2/baim3d.c"), Object(NonMatching, "rwsdk/src/pipe/p2/bapipe.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2altmdl.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2core.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2define.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2dep.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2heap.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2renderstate.c"), Object(NonMatching, "rwsdk/src/pipe/p2/p2resort.c"), Object(NonMatching, "rwsdk/src/pipe/p2/gcn/im3dpipe.c"), Object(NonMatching, "rwsdk/src/pipe/p2/gcn/nodeDolphinSubmitNoLight.c"), ], ), ] if args.mode == "configure": # Write build.ninja and objdiff.json generate_build(config) elif args.mode == "progress": # Print progress and write progress.json config.progress_each_module = args.verbose calculate_progress(config) else: sys.exit("Unknown mode: " + args.mode)