1#Formido makefile for Linux/Unix 2#Make sure you have SDL, SDL_mixer and SDL_image 3#installed! 4 5#Formido directories 6#You can use these defaults, or change them if you like to 7#(just don't include the ending slash) 8 9bundle_contents = Formido.app/Contents 10 11#Data directory (default: ./data) 12DATDIR = ./$(bundle_contents)/Resources/data 13 14#High score directory (default: ./data) 15HISCOREDIR = /.formido 16 17#Config file directory (default: .) 18CONFIGDIR = /.formido 19DEFCONFIGDIR = ./$(bundle_contents)/Resources 20 21CC=g++ 22FLAGS=`sdl-config --cflags` -Wall -I./include 23LINKFLAGS=-O2 -ffast-math -fomit-frame-pointer -lobjc 24LIBS=-Wl,-framework,Cocoa -Wl,-framework,SDL -Wl,-framework,SDL_image -Wl,-framework,SDL_mixer 25 26CPPFILES=blend.cpp credits.cpp explo.cpp hof.cpp menu.cpp player.cpp \ 27 bomb.cpp critter.cpp font.cpp init.cpp mymath.cpp powerup.cpp \ 28 config.cpp effect.cpp game.cpp main.cpp particle.cpp timer.cpp 29 30DEFINES=-DDATA_DIR=\"${DATDIR}\" -DHISCORE_DIR=\"${HISCOREDIR}\" -DCONFIG_DIR=\"${CONFIGDIR}\" -DDEFCONFIG_DIR=\"${DEFCONFIGDIR}\" 31 32SOURCES=$(addprefix src/, $(CPPFILES)) 33OBJECTS=$(addprefix obj/, $(CPPFILES:.cpp=.o)) obj/SDLMain.o 34PROGRAM=formido 35 36 37 38all: $(OBJECTS) $(PROGRAM) bundle 39 40bundle: $(PROGRAM) 41 mkdir -p $(bundle_contents)/MacOS 42 mkdir -p $(bundle_contents)/Resources 43 mkdir -p $(bundle_contents)/Frameworks 44 echo "APPL????" > $(bundle_contents)/PkgInfo 45 cp formido $(bundle_contents)/MacOS/ 46 cp -R data $(DATDIR) 47 cp formido.cfg $(DEFCONFIGDIR) 48 cp macosx/formido.icns $(bundle_contents)/Resources 49 cp macosx/Info.plist $(bundle_contents) 50 cp -R /Library/Frameworks/SDL_image.framework $(bundle_contents)/Frameworks 51 cp -R /Library/Frameworks/SDL_mixer.framework $(bundle_contents)/Frameworks 52 cp -R /Library/Frameworks/SDL.framework $(bundle_contents)/Frameworks 53 54$(PROGRAM): $(OBJECTS) 55 $(CC) $(OBJECTS) $(LINKFLAGS) -o $(PROGRAM) $(LIBS) 56 57obj/%.o: src/%.cpp 58 $(CC) -o $@ $(FLAGS) $(DEFINES) -c $< 59 60obj/SDLMain.o : macosx/SDLMain.m macosx/SDLMain.h 61 gcc -c -o obj/SDLMain.o macosx/SDLMain.m $(FLAGS) 62 63clean: 64 rm -r obj/*.o $(PROGRAM) Formido.app 65 66 67 68