1############################################################################### 2# Global common definitions for build system 3# 4# Copyright 2005-2006 Nintendo. All rights reserved. 5# 6# These coded instructions, statements, and computer programs contain 7# proprietary information of Nintendo of America Inc. and/or Nintendo 8# Company Ltd., and are protected by Federal copyright law. They may 9# not be disclosed to third parties or copied or duplicated in any form, 10# in whole or in part, without the prior written consent of Nintendo. 11############################################################################### 12 13# This file contains common definitions that exist across the build 14 15# 16# Check make version 17# 18ifneq ($(MAKE_VERSION),3.80) 19__version: 20 @echo ---- Sorry, this makefile is for \'make\' version 3.80 21 @make -v 22 @exit 1 23endif 24 25############################################################################### 26# 27# COMMON BUILD FLAGS AND CONSTANTS 28# 29############################################################################### 30 31# This is where all directories will live. 32# Note that if you change ROOT, you must change the BUILDTOOLS_ROOT 33# environment variable. 34empty:= 35space:= $(empty) $(empty) 36comma:= , 37 38#============================================================================= 39# REVOLUTION_SDK_ROOT 40#============================================================================= 41#REVOLUTION_SDK_ROOT:=C:\RevolutionSDK 42ROOT:= $(subst $(space),\$(space),$(subst \,/,$(REVOLUTION_SDK_ROOT))) 43 44 45# Default destination install directory, where installs will occur 46BASEINSTALL_ROOT= $(ROOT) 47 48# determine the architecture target 49# If PLATFORM is not set, it will default to RVL 50ifeq ($(origin PLATFORM), undefined) 51PLATFORM:=RVL 52endif 53 54ARCH_TARGET = $(PLATFORM) 55 56 57ifeq ($(PLATFORM), RVL) 58RVL_OS = TRUE 59HOLLYWOOD_REV = 1 60BROADWAY_REV = 1 61IOP_REV = 1 62EPPC = TRUE 63PROCESSOR = gekko 64TRK_INTEGRATION = TRUE 65endif #RVL 66 67# RVL0 (former RVL_AHBPI) 68ifeq ($(PLATFORM), RVL0) 69RVL_OS = TRUE 70HOLLYWOOD_REV = 1 71BROADWAY_REV = 1 72IOP_REV = 1 73DI_DIRECT = TRUE 74EPPC = TRUE 75PROCESSOR = gekko 76TRK_INTEGRATION = TRUE 77endif #RVL0 78 79ifeq ($(PLATFORM), RVL_LEGACYDI) 80RVL_OS = TRUE 81HOLLYWOOD_REV = 1 82BROADWAY_REV = 1 83IOP_REV = 1 84DI_DIRECT = TRUE 85NO_AHBPI_DSEA = TRUE 86EPPC = TRUE 87PROCESSOR = gekko 88TRK_INTEGRATION = TRUE 89endif #RVL_LEGACYDI 90 91ifeq ($(PLATFORM), RVL_EMU) 92RVL_OS = TRUE 93BROADWAY_EMU = TRUE 94HOLLYWOOD_EMU = TRUE 95IOP_EMU = TRUE 96NO_AHBPI_DSEA = TRUE 97EPPC = TRUE 98PROCESSOR = gekko 99TRK_INTEGRATION = TRUE 100endif #RVL_EMU 101 102ifeq ($(PLATFORM), PRE_RVL) 103RVL_OS = TRUE 104DI_DIRECT = TRUE 105NO_AHBPI_DSEA = TRUE 106EPPC = TRUE 107PROCESSOR = gekko 108TRK_INTEGRATION = TRUE 109endif # PRE_RVL 110 111 112ifndef NDEBUG 113DEBUG = TRUE 114BUILD_TARGET = DEBUG 115else # NDEBUG 116BUILD_TARGET = NDEBUG 117endif # NDEBUG 118 119INSTALL_ROOT = $(BASEINSTALL_ROOT)/$(ARCH_TARGET) 120 121# Default binaries/tools directory 122BIN = $(INSTALL_ROOT)/bin 123 124# Default location of the sources and makefiles 125INC_ROOT = $(ROOT)/include 126BUILD_ROOT = $(ROOT)/build 127MAKE_ROOT = $(BUILD_ROOT)/buildtools 128DOL_INC_ROOT = $(INC_ROOT) 129LIB_ROOT = $(BUILD_ROOT)/libraries 130DEMO_ROOT = $(BUILD_ROOT)/demos 131TEST_ROOT = $(BUILD_ROOT)/tests 132SAMPLE_ROOT = $(BUILD_ROOT)/samplebuild 133TOOL_ROOT = $(BUILD_ROOT)/tools 134 135 136# Default location of the Metrowerks. CWFOLDER is set by the 137# Codewarrior installer. Change the backslashes into normal slashes, 138# and backslash any spaces in the path. 139ifdef CWFOLDER_RVL 140MWDIR = $(subst $(space),\$(space),$(subst \,/,$(CWFOLDER_RVL))) 141else 142MWDIR = $(subst $(space),\$(space),$(subst \,/,$(CWFOLDER))) 143endif 144 145AMCDIR = $(subst $(space),\$(space),$(subst \,/,$(AMCDDKBIN))) 146ODEDIR = $(subst $(space),\$(space),$(subst \,/,$(ODEMUSDKBIN))) 147NDEVDIR = $(subst $(space),\$(space),$(subst \,/,$(NDEV_TOOLS))) 148 149############################################################################### 150# 151# COMMON COMPILER FLAGS 152# 153############################################################################### 154 155# 156# for CodeWarrior 157# 158# -nodefaults - required so the compiler does not search all the 159# Codewarrior paths 160# -proc 750 - which CPU 161# -align powerpc - 4 byte alignment by default 162# -xm l - create a library 163 164CCFLAGS = -nodefaults -proc $(PROCESSOR) -D$(ARCH_TARGET) -align powerpc -enum int 165ASFLAGS = -nodefaults -proc $(PROCESSOR) -D$(ARCH_TARGET) 166ARFLAGS = -nodefaults -proc $(PROCESSOR) -xm l 167LDFLAGS = -nodefaults -proc $(PROCESSOR) 168REL_LDFLAGS = -nodefaults -proc $(PROCESSOR) -nostdlib 169PREREL_LDFLAGS = -nodefaults -proc $(PROCESSOR) -nostdlib 170 171# add yasuh-to 2005/12/28 172CCFLAGS += -enc SJIS 173# ifeq ($(REVOLUTION_SDK_LANG),en) 174# CCFLAGS += -enc ascii 175# else 176# CCFLAGS += -enc SJIS 177# endif 178 179ifdef MULTIBYTE 180CCFLAGS += -multibyte -char unsigned 181endif #MULTIBYTE 182 183# common debug related flags 184ifdef DEBUG 185# _DEBUG is our symbol for saying "debug version". The absence of NDEBUG 186# can also be used by code. 187CCFLAGS += -D_DEBUG 188ASFLAGS += -D_DEBUG 189else # DEBUG 190# NDEBUG is our symbol for saying "no debug version". The absence of _DEBUG 191# can also be used by code. 192CCFLAGS += -DNDEBUG 193ASFLAGS += -DNDEBUG 194endif # DEBUG 195 196# SDK switch 197ifneq ($(SDK), DOL) 198CCFLAGS += -DRVL_SDK 199ASFLAGS += -DRVL_SDK 200endif 201 202############################################################################### 203# 204# EPPC-SPECIFIC Build Flags and Variables 205# 206############################################################################### 207 208# 209# for CodeWarrior 210# 211# -fp hardware - allow use of hardware FP instructions 212# -Cpp_exceptions - turns off C++ exceptions. 213CCFLAGS += -fp hardware -Cpp_exceptions off 214ifndef CATS_ON 215CCFLAGS += -pragma "cats off" 216endif # CATS_ON 217 218 219MWCLDIR = $(MWDIR)/PowerPC_EABI_TOOLS/Command_Line_Tools 220MWLIBDIR = $(MWDIR)/PowerPC_EABI_Support/Runtime/Lib 221 222# H is for hardware floating point 223EPPCMWLIBS = $(MWLIBDIR)/Runtime.PPCEABI.H.a \ 224 $(MWDIR)/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Lib/MSL_C.PPCEABI.bare.H.a \ 225 $(MWDIR)/PowerPC_EABI_Support/MSL/MSL_C++/PPC_EABI/Lib/MSL_C++.PPCEABI.bare.H.a 226 227ifdef TRK_INTEGRATION 228 229ifdef HOLLYWOOD_REV 230EPPCMWLIBS += $(MWDIR)/PowerPC_EABI_Support/MetroTRK/TRK_Hollywood_Revolution.a 231else 232EPPCMWLIBS += $(MWDIR)/PowerPC_EABI_Support/MetroTRK/TRK_MINNOW_DOLPHIN.a 233endif 234 235 236ifeq ($(PLATFORM), RVL) 237 ifdef NDEV 238 EPPCMWLIBS += $(NDEVDIR)/../lib/NdevExi2A$(LIBSUFFIX) -lodenotstub$(LIBSUFFIX) 239 else 240 EPPCMWLIBS += -lodemustubs$(LIBSUFFIX) 241 endif 242endif 243 244ifeq ($(PLATFORM), RVL0) 245 ifdef NDEV 246 EPPCMWLIBS += $(NDEVDIR)/../lib/NdevExi2A$(LIBSUFFIX) -lodenotstub$(LIBSUFFIX) 247 else 248 EPPCMWLIBS += -lodemustubs$(LIBSUFFIX) 249 endif 250endif 251 252ifeq ($(PLATFORM), RVL_LEGACYDI) 253 ifdef NDEV 254 EPPCMWLIBS += $(NDEVDIR)/../lib/NdevExi2$(LIBSUFFIX) -lodenotstub$(LIBSUFFIX) 255 else 256 EPPCMWLIBS += -lodemustubs$(LIBSUFFIX) 257 endif 258endif 259 260ifeq ($(PLATFORM), PRE_RVL) 261 ifdef NDEV 262 EPPCMWLIBS += $(NDEVDIR)/../lib/NdevExi2$(LIBSUFFIX) -lodenotstub$(LIBSUFFIX) 263 else 264 ifdef ODEMUSDKBIN 265 EPPCMWLIBS += $(ODEDIR)/../lib/odemuexi2.a -lodenotstub$(LIBSUFFIX) 266 else # not (NDEV and GDEV) 267 EPPCMWLIBS += -lodemustubs$(LIBSUFFIX) 268 endif 269 endif 270 271 ifdef AMCDDKBIN 272 EPPCMWLIBS += $(AMCDIR)/../lib/AmcExi2.a -lamcnotstub$(LIBSUFFIX) 273 else 274 EPPCMWLIBS += -lamcstubs$(LIBSUFFIX) 275 endif 276endif 277 278ifeq ($(PLATFORM), RVL_EMU) 279 ifdef NDEV 280 EPPCMWLIBS += $(NDEVDIR)/../lib/NdevExi2$(LIBSUFFIX) -lodenotstub$(LIBSUFFIX) 281 else 282 ifdef ODEMUSDKBIN 283 EPPCMWLIBS += $(ODEDIR)/../lib/odemuexi2.a -lodenotstub$(LIBSUFFIX) 284 else # not (NDEV and GDEV) 285 EPPCMWLIBS += -lodemustubs$(LIBSUFFIX) 286 endif 287 endif 288 289 ifdef AMCDDKBIN 290 EPPCMWLIBS += $(AMCDIR)/../lib/AmcExi2.a -lamcnotstub$(LIBSUFFIX) 291 else 292 EPPCMWLIBS += -lamcstubs$(LIBSUFFIX) 293 endif 294endif 295 296 297CCFLAGS += -DTRK_INTEGRATION 298 299endif # TRK_INTEGRATION 300 301# NOTE: If editing REVOLUTION_LIBS, ensure that the library you're adding is 302# also built by the top-level makefile (/dolphin/build/makefile) 303# for this target (EPPC) 304 305# We use full paths so that we can depend on $( REVOLUTION_LIBS) 306# libsn.a will be prepended to link line to override __start 307 308REVOLUTION_LIBS = $(INSTALL_ROOT)/lib/base$(LIBSUFFIX) \ 309 $(INSTALL_ROOT)/lib/os$(LIBSUFFIX) \ 310 $(INSTALL_ROOT)/lib/exi$(LIBSUFFIX) \ 311 $(INSTALL_ROOT)/lib/si$(LIBSUFFIX) \ 312 $(INSTALL_ROOT)/lib/db$(LIBSUFFIX) \ 313 $(INSTALL_ROOT)/lib/vi$(LIBSUFFIX) \ 314 $(INSTALL_ROOT)/lib/mtx$(LIBSUFFIX) \ 315 $(INSTALL_ROOT)/lib/gx$(LIBSUFFIX) \ 316 $(INSTALL_ROOT)/lib/dvd$(LIBSUFFIX) \ 317 $(INSTALL_ROOT)/lib/demo$(LIBSUFFIX) \ 318 $(INSTALL_ROOT)/lib/ai$(LIBSUFFIX) \ 319 $(INSTALL_ROOT)/lib/ax$(LIBSUFFIX) \ 320 $(INSTALL_ROOT)/lib/axfx$(LIBSUFFIX) \ 321 $(INSTALL_ROOT)/lib/mem$(LIBSUFFIX) \ 322 $(INSTALL_ROOT)/lib/cx$(LIBSUFFIX) \ 323 $(INSTALL_ROOT)/lib/mix$(LIBSUFFIX) \ 324 $(INSTALL_ROOT)/lib/sp$(LIBSUFFIX) \ 325 $(INSTALL_ROOT)/lib/axart$(LIBSUFFIX) \ 326 $(INSTALL_ROOT)/lib/syn$(LIBSUFFIX) \ 327 $(INSTALL_ROOT)/lib/seq$(LIBSUFFIX) \ 328 $(INSTALL_ROOT)/lib/dsp$(LIBSUFFIX) \ 329 $(INSTALL_ROOT)/lib/card$(LIBSUFFIX) \ 330 $(INSTALL_ROOT)/lib/hio2$(LIBSUFFIX) \ 331 $(INSTALL_ROOT)/lib/nand$(LIBSUFFIX) \ 332 $(INSTALL_ROOT)/lib/sc$(LIBSUFFIX) \ 333 $(INSTALL_ROOT)/lib/wenc$(LIBSUFFIX) \ 334 $(INSTALL_ROOT)/lib/enc$(LIBSUFFIX) \ 335 $(INSTALL_ROOT)/lib/arc$(LIBSUFFIX) \ 336 $(INSTALL_ROOT)/lib/esp$(LIBSUFFIX) \ 337# $(INSTALL_ROOT)/lib/cnt$(LIBSUFFIX) \ 338# $(INSTALL_ROOT)/lib/mcc$(LIBSUFFIX) \ 339# $(INSTALL_ROOT)/lib/hio$(LIBSUFFIX) \ 340 341####################################################################### 342# Libraries available with existence of IO processor firmware 343####################################################################### 344# 11-Mar-06 IPC lib was activated for all IO processor available targets. 345 346ifdef IOP_REV 347REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/ipc$(LIBSUFFIX) \ 348 $(INSTALL_ROOT)/lib/fs$(LIBSUFFIX) 349else 350REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/isfsEmu$(LIBSUFFIX) \ 351 $(INSTALL_ROOT)/lib/sdwp$(LIBSUFFIX) 352endif 353 354ifdef HOLLYWOOD_REV 355else 356REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/ipcRegEmu$(LIBSUFFIX) 357endif 358 359 360######################################################################## 361# Conditionals for list of REVOLUTION libraries. Because when you care 362# enough to emulate... 363######################################################################## 364 365# 366# 20-Jan-06 The fabled WK library. For emulation platforms ONLY. @EUG 367# 368ifeq ($(PLATFORM), RVL_EMU) 369REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/wk$(LIBSUFFIX) 370endif 371 372# 29-Jan-06 We will keep ARAM around for RVL_EMU and PRE_RVL targets (so sound can work). 373# This means we must get rid of ARAM (and related libraries) for real HOLLYWOOD. @EUG 374# 375ifndef HOLLYWOOD_REV 376REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/ar$(LIBSUFFIX) \ 377 $(INSTALL_ROOT)/lib/am$(LIBSUFFIX) 378endif 379 380# 381# 06-Feb-06 If in RVL_EMU environment, DIEMU API is called from DVD lib. 382# 383ifndef DI_DIRECT 384ifdef IOP_EMU 385REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/diemu$(LIBSUFFIX) \ 386 $(INSTALL_ROOT)/lib/wk$(LIBSUFFIX) \ 387 $(INSTALL_ROOT)/lib/wkmc$(LIBSUFFIX) 388endif # IOP_EMU 389endif # DI_DIRECT 390 391 392# 393# 07-Feb-06 For backward compatibility. @EUG 394# 17-May-06 Added preprocessor macro WPADEMU. 395# 16-Jun-06 Added KPAD/KPADEmu/wireless WPAD libraries. 396# 397ifndef WPADEMU_LIB 398REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/pad$(LIBSUFFIX) 399REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/wpad$(LIBSUFFIX) 400REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/kpad$(LIBSUFFIX) 401else # we're using the emulated WPAD library 402REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/padempty$(LIBSUFFIX) 403REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/wpadEmu$(LIBSUFFIX) 404REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/kpadEmu$(LIBSUFFIX) 405CCFLAGS += -DWPADEMU 406endif 407 408# 22-Feb-06 To enable Mr.EXI serial report output. 409# 410ifdef HOLLYWOOD_REV 411REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/euart$(LIBSUFFIX) 412endif 413 414# 16-Jun-06 USB and wireless UI. 415# 416REVOLUTION_LIBS += $(INSTALL_ROOT)/lib/usb$(LIBSUFFIX) \ 417 $(INSTALL_ROOT)/lib/wud$(LIBSUFFIX) \ 418 $(INSTALL_ROOT)/lib/bte$(LIBSUFFIX) 419 420 421LINCLUDES = -I$(MODULE_ROOT)/include 422 423# -i- delimits user paths from system paths. 424# By default, the only user path points to the local include tree. 425GINCLUDES = -I$(INC_ROOT) \ 426 -ir $(MWDIR)/PowerPC_EABI_Support/Msl/Msl_c \ 427 -I$(MWDIR)/PowerPC_EABI_Support/Runtime/Inc 428INCLUDES = $(LINCLUDES) -i- $(GINCLUDES) 429 430LIB_PATH = -L$(INSTALL_ROOT)/lib 431 432# -map - create a .MAP file that shows final memory layout of 433# all sections 434# -unused - show unused symbols 435# -fp hardware - linker must use same fp settings as compiler 436# Note that LDFLAGS automagically includes the required Metrowerks library 437LDFLAGS += $(LIB_PATH) -fp hardware $(EPPCMWLIBS) 438REL_LDFLAGS += -fp hardware 439PREREL_LDFLAGS += -fp hardware 440 441ifdef COUNTRY_REGION 442REGION_SUFFIX ?= _$(COUNTRY_REGION) 443else 444REGION_SUFFIX ?= 445endif 446 447ifdef DEBUG 448LIBSUFFIX = D.a 449BINSUFFIX = D.elf 450DOLSUFFIX = D.dol 451PLFSUFFIX = D.plf 452PREPLFSUFFIX = D.preplf 453RELSUFFIX = D.rel 454STRSUFFIX = D.str 455LCFSUFFIX = D.lcf 456LSTSUFFIX = D.lst 457WADSUFFIX = D.wad 458ASUFFIX = D 459MCHSUFFIX = D.mch 460else # DEBUG 461LIBSUFFIX = .a 462BINSUFFIX = .elf 463DOLSUFFIX = .dol 464PLFSUFFIX = .plf 465PREPLFSUFFIX = .preplf 466RELSUFFIX = .rel 467STRSUFFIX = .str 468LCFSUFFIX = .lcf 469LSTSUFFIX = .lst 470WADSUFFIX = .wad 471ASUFFIX = 472MCHSUFFIX = .mch 473endif # DEBUG 474 475DEPSUFFIX = .d 476LZ77SUFFIX = .lz7 477 478CC = $(MWCLDIR)/mwcceppc.exe 479AS = $(MWCLDIR)/mwasmeppc.exe 480LD = $(MWCLDIR)/mwldeppc.exe 481AR = $(MWCLDIR)/mwldeppc.exe 482COMPILE = -c 483 484# New 2007/10/17 485ifdef NANDAPP 486CCFLAGS += -DNANDAPP 487endif 488 489# New 2006/02/15 490ifdef RVL_OS 491CCFLAGS += -DRVL_OS 492ASFLAGS += -DRVL_OS 493endif # RVL_OS 494 495ifdef EPPC 496CCFLAGS += -DEPPC 497ASFLAGS += -DEPPC 498endif # EPPC 499 500ifeq ($(PROCESSOR), gekko) 501GEKKO = TRUE 502CCFLAGS += -DGEKKO 503ASFLAGS += -DGEKKO 504endif # gekko 505 506# New Code 2005/12/16 507ifdef HOLLYWOOD_REV 508CCFLAGS += -DHOLLYWOOD_REV=$(HOLLYWOOD_REV) 509ASFLAGS += -DHOLLYWOOD_REV=$(HOLLYWOOD_REV) 510endif # HOLLYWOOD_REV 511 512ifdef BROADWAY_REV 513CCFLAGS += -DBROADWAY_REV=$(BROADWAY_REV) 514ASFLAGS += -DBROADWAY_REV=$(BROADWAY_REV) 515endif # BROADWAY_REV 516 517ifdef IOP_REV 518CCFLAGS += -DIOP_REV=$(IOP_REV) 519ASFLAGS += -DIOP_REV=$(IOP_REV) 520endif # IOP_REV 521 522# for RVL_EMU 523ifdef HOLLYWOOD_EMU 524CCFLAGS += -DHOLLYWOOD_EMU 525ASFLAGS += -DHOLLYWOOD_EMU 526endif # HOLLYWOOD_EMU 527 528ifdef BROADWAY_EMU 529CCFLAGS += -DBROADWAY_EMU 530ASFLAGS += -DBROADWAY_EMU 531endif # BROADWAY_EMU 532 533ifdef IOP_EMU 534CCFLAGS += -DIOP_EMU 535ASFLAGS += -DIOP_EMU 536endif # IOP_EMU 537 538ifdef DI_DIRECT 539CCFLAGS += -DDI_DIRECT 540ASFLAGS += -DDI_DIRECT 541endif # DI_DIRECT 542 543ifdef NO_AHBPI_DSEA 544CCFLAGS += -DNO_AHBPI_DSEA 545ASFLAGS += -DNO_AHBPI_DSEA 546endif # NO_AHBPI_DSEA 547 548############################################################################### 549# 550# Dolphin SDK build configuration settings 551# This section can be skipped by defining DOLPHIN_MINFLAGS for building 552# application program. 553# 554############################################################################### 555 556ifndef DOLPHIN_MINFLAGS 557 558# 559# for CodeWarror 560# 561# Reduced warning level from "ALL" to "MOST", got rid of 562# intercapping complaints in header filenames. 563# 564CCFLAGS += -W all -W nofilecaps -W nosysfilecaps 565 566WARNLV_SDKINC = -W padding,notused 567WARNLV_SDKLIB = 568 569LDFLAGS += -unused -map ${@:.elf=.map} 570REL_LDFLAGS += -unused -map ${@:.plf=.map} -m _prolog -r1 -strip_partial 571PREREL_LDFLAGS += -unused -map ${@:.preplf=.premap} -m _prolog -r 572 573# debug related flags 574ifdef DEBUG 575# -opt off - The debugger is very unhappy with any optimizations at all. 576# -inline off - disable all inlining 577CCFLAGS += -opt off -inline off 578 579# 580# make DEBUG=TRUE NDEBUGINFO=TRUE 581# for DEBUG lib without debug information 582# 583ifndef NDEBUGINFO 584# -g - generate full debug symbolics 585LDFLAGS += -g 586CCFLAGS += -g 587ASFLAGS += -g 588REL_LDFLAGS += -g 589PREREL_LDFLAGS += 590endif 591 592else # DEBUG 593# -O4,p - full optimizations, optimize for speed (not code size) 594# -inline auto - inline small functions where possible, 595# even without inline directirve 596# -unused - show unused symbols 597CCFLAGS += -ipa file -O4,p -inline auto -pragma "warn_notinlined off" 598ASFLAGS += 599 600# 601# make NDEBUG=TRUE DEBUGINFO=TRUE 602# for NDEBUG lib with debug information 603# 604ifdef DEBUGINFO 605LDFLAGS += -g 606CCFLAGS += -g 607ASFLAGS += -g 608REL_LDFLAGS += -g 609PREREL_LDFLAGS += 610endif # DEBUGINFO 611 612endif # DEBUG 613 614endif #DOLPHIN_MINFLAGS 615 616 617############################################################################### 618# 619# Dolphin configuration settings 620# This section is only for Nintendo internal use. 621# 622############################################################################### 623 624# if REALDEBUGGER is TRUE, then DBInit will not initialize the low memory 625# structure 626REALDEBUGGER = TRUE 627 628############################################################################### 629# 630# Precompile header 631# 632############################################################################### 633 634ifdef USE_PRECOMPILE_HEADER 635 636PREFIX_FILE = -include private/revolution$(MCHSUFFIX) 637 638else 639 640# PREFIX_FILE = -include revolution.h 641PREFIX_FILE = 642 643endif 644 645 646