1# Makefile
2# author: iOS-Software
3# July 2004
4
5#BINDIR=/usr/games/
6DATADIR=\"data\"
7
8# SDL_CONFIG=/home/jeko/opt/bin/sdl-config
9SDL_CONFIG=sdl-config
10CC=g++
11CXX=g++
12
13CFLAGS=`$(SDL_CONFIG) --cflags` -g -I/sw/include -DUSE_AUDIO=1 -DHAVE_OPENGL=1
14CXXFLAGS=${CFLAGS}
15
16HFILES= HiScores.h IosException.h IosImgProcess.h IosVector.h PuyoCommander.h PuyoGame.h \
17        PuyoIA.h PuyoPlayer.h PuyoStory.h PuyoView.h SDL_prim.h audio.h menu.h \
18				menuitems.h preferences.h scrollingtext.h sofont.h SDL_Painter.h PuyoVersion.h \
19				InputManager.h GameControls.h HiScores.h
20
21
22OBJFILES= SDL_prim.o HiScores.o scenar.y.o scenar.l.o PuyoCommander.o IosException.o \
23					IosVector.o main.o PuyoGame.o PuyoVersion.o PuyoView.o PuyoIA.o sofont.o \
24					menu.o menuitems.o audio.o scrollingtext.o preferences.o PuyoStory.o SDL_Painter.o \
25					InputManager.o GameControls.o PuyoDoomMelt.o glSDL.o
26
27all: prelude flobopuyo
28
29flobopuyo: ${OBJFILES}
30	@echo "[flobopuyo]" && g++ $(CFLAGS) -o flobopuyo `$(SDL_CONFIG) --cflags --libs` -lSDL_mixer -lSDL_image ${OBJFILES}
31	@echo "--------------------------------------"
32	@echo " Compilation finished"
33	@[ "x`cat WARNINGS | wc -l`" != "x0" ] && echo -e "--------------------------------------\n There have been some warnings:\n" && cat WARNINGS && rm -f WARNINGS && echo "--------------------------------------" || true
34	@echo
35	@echo " Type ./flobopuyo to play."
36	@echo "--------------------------------------"
37
38prelude:
39	@rm -f WARNINGS
40	@touch WARNINGS
41
42%.o:%.c
43	@echo "[$@]" && $(CC) $(CFLAGS) -DDATADIR=${DATADIR} -c $< 2>> WARNINGS || (cat WARNINGS && false)
44
45%.o:%.cpp
46	@echo "[$@]" && $(CXX) $(CFLAGS) -DDATADIR=${DATADIR} -c $< 2>> WARNINGS || (cat WARNINGS && false)
47
48PuyoDoomMelt.o:PuyoDoomMelt.c ${HFILES}
49HiScores.o:HiScores.cpp HiScores.h preferences.h
50PuyoCommander.o:PuyoCommander.cpp ${HFILES}
51PuyoGame.o:PuyoGame.cpp ${HFILES}
52PuyoIA.o:PuyoIA.cpp ${HFILES}
53PuyoStory.o:PuyoStory.cpp ${HFILES}
54PuyoView.o:PuyoView.cpp ${HFILES}
55main.o:main.cpp ${HFILES}
56preferences.o:preferences.c preferences.h
57scenar.l.o:scenar.l.c ${HFILES}
58scenar.y.o:scenar.y.c ${HFILES}
59InputManager.o:InputManager.cpp ${HFILES}
60GameControls.o:GameControls.cpp ${HFILES}
61SDL_Painter.o:SDL_Painter.cpp SDL_Painter.h
62audio.o:audio.c audio.h
63menu.o:menu.c menu.h menuitems.h
64menuitems.o:menuitems.c menu.h menuitems.h
65scrollingtext.o:scrollingtext.c
66sofont.o:sofont.c
67IosException.o:IosException.cpp
68IosVector.o:IosVector.cpp
69glSDL.o:glSDL.c
70	@echo "[$@]" && $(CC) $(CFLAGS) -DDATADIR=${DATADIR} -c $< 2>> EXT_WARNINGS
71	@rm -f EXT_WARNINGS
72SDL_prim.o:SDL_prim.c
73	@echo "[$@]" && $(CC) $(CFLAGS) -DDATADIR=${DATADIR} -c $< 2>> EXT_WARNINGS
74	@rm -f EXT_WARNINGS
75
76scenar.l.c:scenar.l ${HFILES}
77	@echo "[$@]" && flex -oscenar.l.c scenar.l
78scenar.y.c:scenar.y ${HFILES}
79	@echo "[$@]" && bison -y -d -o scenar.y.c scenar.y
80
81clean:
82	rm -f *~ scenar.y.c scenar.y.h scenar.l.c *.o flobopuyo* WARNINGS
83	rm -rf .xvpics data/.xvpics    data/*/.xvpics
84	rm -rf FloboPuyo.app
85	rm -f  .DS_Store data/.DS_Store data/*/.DS_Store .gdb_history
86
87#_install: ${OBJFILES}
88#	g++ $(CFLAGS) -o flobopuyo `$(SDL_CONFIG) --cflags --static-libs` -lSDL_mixer -lSDL_image ${OBJFILES}
89
90#install: _install
91#	strip --strip-all flobopuyo
92#	mkdir -p ${DATADIR}
93#	cp -r data/* ${DATADIR}
94#	chmod a+rx ${DATADIR}
95#	chmod a+rx ${DATADIR}/sfx
96#	chmod a+rx ${DATADIR}/gfx
97#	chmod a+rx ${DATADIR}/story
98#	chmod -R a+r ${DATADIR}
99#	cp ./flobopuyo ${BINDIR}/flobopuyo
100#	chmod a+rx ${BINDIR}/flobopuyo
101
102bundle_name = FloboPuyo.app
103flobopuyo-static:SDL_prim.o
104	bison -y -d -o scenar.y.c scenar.y
105	flex -oscenar.l.c scenar.l
106	g++ -DMACOSX $(CFLAGS) -o flobopuyo-static  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`
107
108# /sw/lib/libvorbis.a
109
110bundle: flobopuyo-static
111	mkdir -p $(bundle_name)/Contents/MacOS
112	mkdir -p $(bundle_name)/Contents/Resources
113	echo "APPL????" > $(bundle_name)/Contents/PkgInfo
114	cp mac/Info.plist $(bundle_name)/Contents/
115	cp mac/icon.icns $(bundle_name)/Contents/Resources/
116	cp flobopuyo-static $(bundle_name)/Contents/MacOS/flobopuyo
117	cp -r data $(bundle_name)/Contents/Resources
118	rm -rf $(bundle_name)/Contents/Resources/data/CVS $(bundle_name)/Contents/Resources/data/*/CVS
119	rm -rf $(bundle_name)/Contents/Resources/data/.xvpics $(bundle_name)/Contents/Resources/data/*/.xvpics
120	rm -f $(bundle_name)/Contents/Resources/data/.DS_Store $(bundle_name)/Contents/Resources/data/*/.DS_Store
121	strip $(bundle_name)/Contents/MacOS/flobopuyo
122