1) Consolidated the Loggers so that we only have one in JGE. Added a helper constructor/destructor to the JLogger class so that you can instantiate one at the top of a function, it'll trace out a 'start' and 'end' message when it goes in & out of scope. 2) Fixed the crash part of a bug I've been chasing down where, on the psp, after saturating the cache, the game dies when trying to reload the background PNG image of the deck menu. We still need to fix the root cause of the failure (not enough memory to allocate a temporary buffer for the swizzle operation), but at least the psp doesn't lock up anymore. I've also left behind all the log traces I inserted into the LoadPNG code, since we'll probably need them again.
109 lines
4.5 KiB
Makefile
109 lines
4.5 KiB
Makefile
OBJS = objs/ActionElement.o objs/ActionLayer.o objs/ActionStack.o objs/AIMomirPlayer.o objs/AIPlayer.o objs/AIStats.o objs/AllAbilities.o objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.o objs/CardEffect.o objs/CardPrimitive.o objs/CardSelector.o objs/CardSelectorSingleton.o objs/Counters.o objs/Credits.o objs/Damage.o objs/DamagerDamaged.o objs/DeckDataWrapper.o objs/DeckEditorMenu.o objs/DeckMenu.o objs/DeckMenuItem.o objs/DeckMetaData.o objs/DeckStats.o objs/DuelLayers.o objs/Effects.o objs/ExtraCost.o objs/GameApp.o objs/GameLauncher.o objs/GameObserver.o objs/GameOptions.o objs/GameState.o objs/GameStateAwards.o objs/GameStateDeckViewer.o objs/GameStateDuel.o objs/DeckManager.o objs/GameStateMenu.o objs/GameStateOptions.o objs/GameStateShop.o objs/GameStateStory.o objs/GameStateTransitions.o objs/GuiAvatars.o objs/GuiBackground.o objs/GuiCardsController.o objs/GuiCombat.o objs/GuiFrame.o objs/GuiHand.o objs/GuiLayers.o objs/GuiMana.o objs/GuiPhaseBar.o objs/GuiPlay.o objs/GuiStatic.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o objs/MTGAbility.o objs/MTGCardInstance.o objs/MTGCard.o objs/MTGDeck.o objs/MTGDefinitions.o objs/MTGGamePhase.o objs/MTGGameZones.o objs/MTGPack.o objs/MTGRules.o objs/Navigator.o objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/Pos.o objs/PrecompiledHeader.o objs/PriceList.o objs/ReplacementEffects.o objs/Rules.o objs/SimpleMenu.o objs/SimpleMenuItem.o objs/SimplePad.o objs/StoryFlow.o objs/StyleManager.o objs/Subtypes.o objs/TargetChooser.o objs/TargetsList.o objs/TextScroller.o objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o objs/WFont.o
|
|
DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS))
|
|
|
|
RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache)
|
|
ifeq ($(RESULT),)
|
|
DEFAULT_RULE = linux
|
|
TARGET_ARCHITECTURE = linux
|
|
TARGET = bin/wagic
|
|
else
|
|
DEFAULT_RULE = 3xx
|
|
TARGET_ARCHITECTURE = psp
|
|
PSPSDK = $(shell psp-config --pspsdk-path)
|
|
PSPDIR = $(shell psp-config --psp-prefix)
|
|
TARGET = wagic
|
|
endif
|
|
ifeq ($(MAKECMDGOALS),debug)
|
|
DEFAULT_RULE = debug
|
|
endif
|
|
ifeq ($(MAKECMDGOALS),linux)
|
|
DEFAULT_RULE = linux
|
|
TARGET_ARCHITECTURE = linux
|
|
endif
|
|
|
|
ifeq ($(TARGET_ARCHITECTURE),psp)
|
|
DEFAULT_RULE = 3xx
|
|
TARGET_ARCHITECTURE = psp
|
|
PSP_FW_VERSION=371
|
|
BUILD_PRX = 1
|
|
LIBS = -ljge300 -lhgetools -lfreetype -ljpeg -lgif -lpng -lz -lm -lmikmod -lpsppower -lpspmpeg -lpspaudiocodec -lpspaudiolib -lpspaudio -lpspmp3 -lpspgum -lpspgu -lpsprtc -lstdc++ -lpspfpu
|
|
|
|
EXTRA_TARGETS = EBOOT.PBP
|
|
PSP_EBOOT_TITLE = Wagic, the Homebrew?!
|
|
PSP_EBOOT_ICON = icon.png
|
|
#PSP_EBOOT_ICON1 = icon1.pmf
|
|
PSP_EBOOT_UNKPNG = pic0.png
|
|
PSP_EBOOT_PIC1 = pic1.png
|
|
INCDIR = ../../JGE/include ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src ../../projects/mtg/include
|
|
LIBDIR = ../../JGE/lib/psp
|
|
CFLAGS = -O2 -G0 -DPSPFW3XX -DDEVHOOK -DUSE_PRECOMPILED_HEADERS=1
|
|
else
|
|
OBJS += objs/TestSuiteAI.o
|
|
INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include
|
|
LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib
|
|
LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 $(FMOD)
|
|
CFLAGS = $(INCDIR) -O2 -DLINUX -DUSE_PRECOMPILED_HEADERS=1
|
|
ASFLAGS = $(CXXFLAGS)
|
|
|
|
all: $(DEFAULT_RULE)
|
|
|
|
endif
|
|
|
|
CFLAGS := -Wall -W -Werror -Wno-unused $(CFLAGS)
|
|
CXXFLAGS += $(CFLAGS)
|
|
# -fno-exceptions
|
|
|
|
LDFLAGS += $(LIBS)
|
|
|
|
|
|
|
|
debug: CXXFLAGS += -ggdb3 -D_DEBUG -DDEBUG
|
|
|
|
log: CXXFLAGS += -DDOLOG
|
|
|
|
|
|
|
|
|
|
ifeq ($(TARGET_ARCHITECTURE),psp)
|
|
include $(PSPSDK)/lib/build.mak
|
|
|
|
log: all
|
|
debug: all
|
|
|
|
3xx:
|
|
@echo Rule 3xx is deprecated. Did you want to use just "make" ?
|
|
|
|
else
|
|
|
|
|
|
|
|
$(TARGET): Makefile.$(TARGET_ARCHITECTURE) $(OBJS) ../../JGE/lib/linux/libjge.a
|
|
$(CXX) -o $(TARGET) $(OBJS) $(LIBS) $(LIBDIR)
|
|
|
|
linux: $(TARGET)
|
|
|
|
debug: linux
|
|
|
|
clean:
|
|
$(RM) $(OBJS) Makefile.$(TARGET_ARCHITECTURE)
|
|
|
|
endif
|
|
|
|
PrecompiledHeader.h.gch: ../../projects/mtg/include/PrecompiledHeader.h
|
|
$(CXX) -c $(CXXFLAGS) $<
|
|
|
|
$(OBJS): objs/%.o: src/%.cpp PrecompiledHeader.h.gch
|
|
$(CXX) -c $(CXXFLAGS) $< -o $@
|
|
|
|
$(DEPS): deps/%.d: src/%.cpp
|
|
@$(CXX) -MM $(CXXFLAGS) -MQ $(patsubst deps/%.d, objs/%.o, $(@)) -MQ $@ $< > $@
|
|
|
|
.DEFAULT:
|
|
@echo $@ has been deleted : updating deps.
|
|
|
|
Makefile.linux:
|
|
$(CXX) -o /dev/null src/testfeatures.c $(LIBDIR) -lfmod-3.75 > /dev/null 2>&1 ; if [ "0" = "$$?" ]; then echo 'FMOD=-lfmod-3.75'; else echo 'FMOD='; fi > $@
|
|
|
|
-include $(DEPS)
|
|
-include Makefile.$(TARGET_ARCHITECTURE)
|