OBJS = objs/InteractiveButton.o objs/AbilityParser.o objs/ActionElement.o\ objs/ActionLayer.o objs/ActionStack.o objs/AIHints.o objs/AIMomirPlayer.o\ objs/AIPlayer.o objs/AIPlayerBaka.o objs/AIStats.o objs/AllAbilities.o\ objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.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/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/IconButton.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o\ objs/ModRules.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/ObjectAnalytics.o\ objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o\ objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/PlayRestrictions.o\ objs/Pos.o objs/PrecompiledHeader.o objs/PriceList.o objs/ReplacementEffects.o\ objs/Rules.o objs/SimpleMenu.o objs/SimpleButton.o objs/SimpleMenuItem.o\ objs/SimplePad.o objs/SimplePopup.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 objs/CarouselDeckView.o objs/GridDeckView.o objs/DeckView.o DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS)) RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache) QMAKE = qmake QMAKEFILE = wagic-qt.pro ifeq ($(RESULT),) DEFAULT_RULE = qt 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),qt) DEFAULT_RULE = qt TARGET_ARCHITECTURE = linux endif ifeq ($(MAKECMDGOALS),x11) # TODO: take other X11 platforms into account. Or not. DEFAULT_RULE = linux.x11 TARGET_ARCHITECTURE = linux endif ifeq ($(TARGET_ARCHITECTURE),psp) DEFAULT_RULE = 3xx PSP_FW_VERSION=371 BUILD_PRX = 1 SIGN_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/src/zipFS ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src ../../projects/mtg/include ../../Boost LIBDIR = ../../JGE/lib/psp CFLAGS = -O2 -G0 -DPSPFW3XX -DDEVHOOK -DUSE_PRECOMPILED_HEADERS=1 -DPSP -DTIXML_USE_STL else ifeq ($(MAKECMDGOALS),x11) OBJS += objs/TestSuiteAI.o INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I/usr/include/boost -I../../JGE/src/zipFS LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lpthread $(FMOD) CFLAGS = $(INCDIR) -DLINUX -DUSE_PRECOMPILED_HEADERS=1 -DTIXML_USE_STL -Wno-nonnull-compare ASFLAGS = $(CXXFLAGS) all: $(DEFAULT_RULE) else OBJS += objs/TestSuiteAI.o INCDIR = -I../../JGE/include -I../../JGE/src -I/usr/X11/include -I../../projects/mtg/include -I../../Boost -I../../JGE/src/zipFS LIBDIR = -L../../JGE/lib/linux -L../../JGE -L/usr/X11/lib -L../../Boost/lib LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lhgetools -lGL -lGLU -lX11 -lboost_thread $(FMOD) CFLAGS = $(INCDIR) -DLINUX -DUSE_PRECOMPILED_HEADERS=1 -Wno-nonnull-compare ASFLAGS = $(CXXFLAGS) all: $(DEFAULT_RULE) endif endif CFLAGS := -Wall -W -Werror -Wno-unused -Wno-deprecated-declarations $(CFLAGS) CXXFLAGS += $(CFLAGS) # -fno-exceptions LDFLAGS += $(LIBS) debug: CXXFLAGS += -ggdb3 -D_DEBUG -DDEBUG -DDEBUG_CACHE log: CXXFLAGS += -DDOLOG ifeq ($(TARGET_ARCHITECTURE),psp) include $(PSPSDK)/lib/build.mak EXTRA_CLEAN += PrecompiledHeader.h.gch ../../projects/mtg/include/PrecompiledHeader.h.gch 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) x11: $(TARGET) qt: Makefile.qt $(MAKE) -f Makefile.qt debug: linux clean: $(RM) PrecompiledHeader.h.gch $(OBJS) Makefile.$(TARGET_ARCHITECTURE) endif define compile $(CXX) -c $(CXXFLAGS) $< -o $@ endef PrecompiledHeader.h.gch: ../../projects/mtg/include/PrecompiledHeader.h $(compile) $(OBJS): objs/%.o: src/%.cpp PrecompiledHeader.h.gch $(compile) $(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 > $@ Makefile.qt: $(QMAKE) -o $@ $(QMAKEFILE) -include $(DEPS) -include Makefile.$(TARGET_ARCHITECTURE)