1# Makefile 2# author: iOS-Software 3# July 2004 4 5ENABLE_AUDIO=true 6ENABLE_OPENGL=true 7 8 9DATADIR=\"data\" 10 11SDL_CONFIG=sdl-config 12CC=g++ 13CXX=g++ 14 15CFLAGS=`$(SDL_CONFIG) --cflags` -g -I/sw/include -DDATADIR=${DATADIR} 16 17HFILES= HiScores.h IosException.h IosImgProcess.h IosVector.h PuyoCommander.h\ 18 PuyoGame.h PuyoAnimations.h AnimatedPuyo.h PuyoIA.h PuyoPlayer.h \ 19 PuyoStory.h PuyoView.h SDL_prim.h audio.h menu.h menuitems.h \ 20 preferences.h scrollingtext.h sofont.h SDL_Painter.h PuyoVersion.h \ 21 InputManager.h GameControls.h HiScores.h IosImgProcess.h PuyoStarter.h 22 23 24OBJFILES= SDL_prim.o HiScores.o scenar.y.o scenar.l.o PuyoCommander.o \ 25 IosException.o IosVector.o main.o PuyoGame.o PuyoVersion.o \ 26 PuyoView.o PuyoAnimations.o AnimatedPuyo.o PuyoIA.o sofont.o \ 27 menu.o menuitems.o audio.o scrollingtext.o preferences.o \ 28 PuyoStory.o SDL_Painter.o InputManager.o GameControls.o \ 29 PuyoDoomMelt.o IosImgProcess.o corona32.o corona.o corona_palette.o PuyoStarter.o 30 31PLATFORM=$(shell uname -s) 32ifeq ($(PLATFORM), Darwin) 33CFLAGS:=$(CFLAGS) -DMACOSX -UDATADIR 34endif 35 36ifeq ($(ENABLE_AUDIO), true) 37CFLAGS:=$(CFLAGS) -DUSE_AUDIO=1 38OBJFILES:=$(OBJFILES) 39endif 40 41ifeq ($(ENABLE_OPENGL), true) 42CFLAGS:=$(CFLAGS) -DHAVE_OPENGL=1 43OBJFILES:=$(OBJFILES) glSDL.o 44ifeq ($(PLATFORM), Linux) 45LDFLAGS:=$(LDFLAGS) -lGL 46endif 47endif 48 49CXXFLAGS=${CFLAGS} 50 51all: prelude flobopuyo 52 53flobopuyo: ${OBJFILES} 54 @echo "[flobopuyo]" && g++ $(CFLAGS) $(LDFLAGS) -o flobopuyo `$(SDL_CONFIG) --cflags --libs` -lSDL_mixer -lSDL_image ${OBJFILES} 55 @echo "--------------------------------------" 56 @echo " Compilation finished" 57 @[ "x`cat WARNINGS | wc -l`" != "x0" ] && echo -e "--------------------------------------\n There have been some warnings:\n" && cat WARNINGS && rm -f WARNINGS && echo "--------------------------------------" || true 58 @echo 59 @echo " Type ./flobopuyo to play." 60 @echo "--------------------------------------" 61 62prelude: 63 @rm -f WARNINGS 64 @touch WARNINGS 65 @echo "Compiling with CFLAGS=$(CFLAGS)" 66 67%.o:%.c 68 @echo "[$@]" && $(CC) $(CFLAGS) -c $< 2>> WARNINGS || (cat WARNINGS && false) 69 70%.o:%.cpp 71 @echo "[$@]" && $(CXX) $(CFLAGS) -c $< 2>> WARNINGS || (cat WARNINGS && false) 72 73PuyoDoomMelt.o:PuyoDoomMelt.c ${HFILES} 74HiScores.o:HiScores.cpp HiScores.h preferences.h 75PuyoCommander.o:PuyoCommander.cpp ${HFILES} 76PuyoGame.o:PuyoGame.cpp ${HFILES} 77PuyoIA.o:PuyoIA.cpp ${HFILES} 78PuyoStory.o:PuyoStory.cpp ${HFILES} 79PuyoView.o:PuyoView.cpp ${HFILES} 80AnimatedPuyo.o: AnimatedPuyo.cpp ${HFILES} 81PuyoAnimations.o: PuyoAnimations.cpp ${HFILES} 82main.o:main.cpp ${HFILES} 83preferences.o:preferences.c preferences.h 84scenar.l.o:scenar.l.c ${HFILES} 85scenar.y.o:scenar.y.c ${HFILES} 86InputManager.o:InputManager.cpp ${HFILES} 87GameControls.o:GameControls.cpp ${HFILES} 88IosImgProcess.o:IosImgProcess.cpp ${HFILES} 89SDL_Painter.o:SDL_Painter.cpp SDL_Painter.h 90audio.o:audio.c audio.h 91menu.o:menu.c menu.h menuitems.h 92menuitems.o:menuitems.c menu.h menuitems.h 93scrollingtext.o:scrollingtext.c 94sofont.o:sofont.c 95IosException.o:IosException.cpp 96IosVector.o:IosVector.cpp 97glSDL.o:glSDL.c 98 @echo "[$@]" && $(CC) $(CFLAGS) -c $< 2>> EXT_WARNINGS 99 @rm -f EXT_WARNINGS 100SDL_prim.o:SDL_prim.c 101 @echo "[$@]" && $(CC) $(CFLAGS) -c $< 2>> EXT_WARNINGS 102 @rm -f EXT_WARNINGS 103corona.o:corona.cpp 104corona32.o:corona32.cpp 105corona_palette.o:corona_palette.cpp 106 107scenar.l.c:scenar.l ${HFILES} 108 @echo "[$@]" && flex -oscenar.l.c scenar.l 109scenar.y.c:scenar.y ${HFILES} 110 @echo "[$@]" && bison -y -d -o scenar.y.c scenar.y 111 112clean: 113 rm -f *~ scenar.y.c scenar.y.h scenar.l.c *.o flobopuyo* WARNINGS 114 rm -rf .xvpics data/.xvpics data/*/.xvpics 115 rm -rf FloboPuyo.app 116 rm -f .DS_Store data/.DS_Store data/*/.DS_Store .gdb_history 117 118bundle_name = FloboPuyo.app 119 120flobopuyo-static: prelude ${OBJFILES} 121 @echo "[flobopuyo-static]" && g++ $(CFLAGS) -o flobopuyo-static ${OBJFILES}\ 122 /sw/lib/libSDL_mixer.a /sw/lib/libvorbisfile.a /sw/lib/libvorbis.a /sw/lib/libogg.a /sw/lib/libsmpeg.a /sw/lib/libSDL_image.a /sw/lib/libjpeg.a /sw/lib/libpng.a -lz `$(SDL_CONFIG) --static-libs` 123 @echo "--------------------------------------" 124 @echo " Compilation finished" 125 126flobopuyo-staticz:SDL_prim.o 127 bison -y -d -o scenar.y.c scenar.y 128 flex -oscenar.l.c scenar.l 129 g++ -DMACOSX $(CFLAGS) -o flobopuyo-static IosImgProcess.cpp HiScores.cpp SDL_prim.o PuyoCommander.cpp InputManager.cpp GameControls.cpp IosException.cpp IosVector.cpp main.cpp PuyoGame.cpp PuyoView.cpp PuyoIA.cpp PuyoVersion.c sofont.c menu.c menuitems.c audio.c scrollingtext.c preferences.c SDL_Painter.cpp PuyoStory.cpp scenar.y.c scenar.l.c /sw/lib/libSDL_mixer.a /sw/lib/libvorbisfile.a /sw/lib/libvorbis.a /sw/lib/libogg.a /sw/lib/libsmpeg.a /sw/lib/libSDL_image.a /sw/lib/libjpeg.a /sw/lib/libpng.a -lz `$(SDL_CONFIG) --cflags --static-libs` 130 131# /sw/lib/libvorbis.a 132 133bundle: flobopuyo-static 134 mkdir -p $(bundle_name)/Contents/MacOS 135 mkdir -p $(bundle_name)/Contents/Resources 136 echo "APPL????" > $(bundle_name)/Contents/PkgInfo 137 cp mac/Info.plist $(bundle_name)/Contents/ 138 cp mac/icon.icns $(bundle_name)/Contents/Resources/ 139 cp flobopuyo-static $(bundle_name)/Contents/MacOS/flobopuyo 140 cp -r data $(bundle_name)/Contents/Resources 141 rm -rf $(bundle_name)/Contents/Resources/data/CVS $(bundle_name)/Contents/Resources/data/*/CVS 142 rm -rf $(bundle_name)/Contents/Resources/data/.xvpics $(bundle_name)/Contents/Resources/data/*/.xvpics 143 rm -f $(bundle_name)/Contents/Resources/data/.DS_Store $(bundle_name)/Contents/Resources/data/*/.DS_Store 144 strip $(bundle_name)/Contents/MacOS/flobopuyo 145 146package_name = "FloBoPuyo\ 0.20" 147mac-package: bundle 148 mkdir "$(package_name)" 149 mv $(bundle_name) "$(package_name)" 150 cp COPYING "$(package_name)" 151 hdiutil create -srcfolder "$(package_name)" "$(package_name).dmg" 152