diff --git a/projects/mtg/Makefile b/projects/mtg/Makefile index 9bd4b4484..2962c295d 100644 --- a/projects/mtg/Makefile +++ b/projects/mtg/Makefile @@ -1,15 +1,17 @@ -TARGET=template -OBJS = src/ActionElement.o src/ActionLayer.o src/ActionStack.o src/AIPlayer.o src/AIStats.o src/Blocker.o src/CardGui.o src/CardDescriptor.o src/CardDisplay.o src/ConstraintResolver.o src/Counters.o src/Damage.o src/DamagerDamaged.o src/DamageResolverLayer.o src/DeckDataWrapper.o src/DeckStats.o src/DuelLayers.o src/GameApp.o src/GameLauncher.o src/GameObserver.o src/GameOptions.o src/GameStateDuel.o src/GameStateOptions.o src/GameStateShop.o src/GuiCardsController.o src/GuiLayers.o src/Logger.o src/ManaCost.o src/ManaCostHybrid.o src/MenuItem.o src/MTGAbility.o src/MTGCardInstance.o src/MTGCard.o src/MTGDeck.o src/MTGGamePhase.o src/MTGGameZones.o src/MTGGuiHand.o src/MTGGuiPlay.o src/MTGRules.o src/OptionItem.o src/PhaseRing.o src/Player.o src/PlayerData.o src/PlayGuiObjectController.o src/PlayGuiObject.o src/PriceList.o src/ShopItem.o src/SimpleMenu.o src/SimpleMenuItem.o src/Subtypes.o src/TargetChooser.o src/TargetsList.o src/TexturesCache.o src/Token.o src/utils.o +OBJS = objs/ActionElement.o objs/ActionLayer.o objs/ActionStack.o objs/AIPlayer.o objs/AIStats.o objs/Blocker.o objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.o objs/ConstraintResolver.o objs/Counters.o objs/Damage.o objs/DamagerDamaged.o objs/DamageResolverLayer.o objs/DeckDataWrapper.o objs/DeckStats.o objs/DuelLayers.o objs/GameApp.o objs/GameLauncher.o objs/GameObserver.o objs/GameOptions.o objs/GameStateDuel.o objs/GameStateOptions.o objs/GameStateShop.o objs/GuiCardsController.o objs/GuiLayers.o objs/Logger.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o objs/MTGAbility.o objs/MTGCardInstance.o objs/MTGCard.o objs/MTGDeck.o objs/MTGGamePhase.o objs/MTGGameZones.o objs/MTGGuiHand.o objs/MTGGuiPlay.o objs/MTGRules.o objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/PriceList.o objs/ShopItem.o objs/SimpleMenu.o objs/SimpleMenuItem.o objs/Subtypes.o objs/TargetChooser.o objs/TargetsList.o objs/TexturesCache.o objs/Token.o objs/utils.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 = template endif ifeq ($(MAKECMDGOALS),linux) DEFAULT_RULE = linux @@ -18,10 +20,14 @@ endif ifeq ($(MAKECMDGOALS),3xx) DEFAULT_RULE = 3xx TARGET_ARCHITECTURE = psp +PSP_PW_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 endif ifeq ($(MAKECMDGOALS),1xx) DEFAULT_RULE = 1xx TARGET_ARCHITECTURE = psp +LIBS = -ljge100 -lfreetype -lpng -lz -lm -lmikmod -lmmio -lpsppower -lpspaudiolib -lpspaudio -lpspgum -lpspgu -lpsprtc -lstdc++ -ljpeg -lgif -lpspaudiocodec -lpspmpeg endif ifeq ($(TARGET_ARCHITECTURE),psp) @@ -30,8 +36,16 @@ EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = WTH?! PSP_EBOOT_ICON = icon.png CXXFLAGS = -O2 -G0 -Wall -DDEVHOOK -DPSPFW3XX -fno-exceptions -fno-rtti +INCDIR = ../../JGE/include ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src +LIBDIR = ../../JGE/lib/psp else -OBJS += src/TestSuiteAI.o +OBJS += objs/TestSuiteAI.o +INCDIR = -I ../../JGE/include -I ../../JGE/src +LIBDIR = -L ../../JGE/lib/linux -L ../../JGE +LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lglut -lhgetools -lfmod-3.75 +CFLAGS = $(INCDIR) -O2 -Wall -W -Werror -Wno-unused -DDEVHOOK -DLINUX +CXXFLAGS += $(CFLAGS) -fno-exceptions -fno-rtti +ASFLAGS = $(CXXFLAGS) endif CXXFLAGS := $(INCDIR) $(CXXFLAGS) @@ -42,27 +56,10 @@ all: $(DEFAULT_RULE) debug: CXXFLAGS += -ggdb3 -D_DEBUG -DDEBUG -linux: INCDIR = -I ../../JGE/include -I ../../JGE/src -linux: LIBDIR = -L ../../JGE/lib/linux -L ../../JGE -linux: LIBS = -ljge -lfreetype -ljpeg -lgif -lpng -lz -lm -lstdc++ -lglut -lhgetools -lfmod-3.75 -linux: CFLAGS = $(INCDIR) -O2 -Wall -W -Werror -Wno-unused -DDEVHOOK -DLINUX -linux: CXXFLAGS += $(CFLAGS) -fno-exceptions -fno-rtti -linux: ASFLAGS = $(CXXFLAGS) - -3xx: BUILD_PRX = 1 -3xx: PSP_PW_VERSION=371 -3xx: LIBS = -ljge300 -lhgetools -lfreetype -ljpeg -lgif -lpng -lz -lm -lmikmod -lpsppower -lpspmpeg -lpspaudiocodec -lpspaudiolib -lpspaudio -lpspmp3 -lpspgum -lpspgu -lpsprtc -lstdc++ -lpspfpu -3xx: INCDIR = ../../JGE/include ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src -3xx: LIBDIR = ../../JGE/lib/psp - -1xx: LIBS = -ljge100 -lfreetype -lpng -lz -lm -lmikmod -lmmio -lpsppower -lpspaudiolib -lpspaudio -lpspgum -lpspgu -lpsprtc -lstdc++ -ljpeg -lgif -lpspaudiocodec -lpspmpeg -1xx: INCDIR = ../../JGE/include ../../JGE/include/psp ../../JGE/include/psp/freetype2 ../../JGE/src -1xx: LIBDIR = ../../JGE/lib/psp ifeq ($(TARGET_ARCHITECTURE),psp) include $(PSPSDK)/lib/build.mak else -linux: TARGET = bin/wagic @@ -76,5 +73,16 @@ debug: linux clean: rm -f $(OBJS) -endif +$(OBJS): objs/%.o: src/%.cpp + $(CXX) -c -o $@ $(CXXFLAGS) $< + +$(DEPS): deps/%.d: src/%.cpp + @set -e; rm -f $@; \ + $(CXX) -MM $(CXXFLAGS) $< > $@.$$$$; \ + sed 's,\($*\)\.o[ :]*,objs/\1.o $@ : ,g' < $@.$$$$ > $@; \ + rm -f $@.$$$$ + +include $(DEPS) + +endif