diff -Naur polly-src/lighting.h polly-src-linux/lighting.h --- polly-src/lighting.h 2008-11-17 23:01:26.000000000 +0100 +++ polly-src-linux/lighting.h 2009-03-27 11:50:08.000000000 +0100 @@ -2,9 +2,11 @@ #ifndef MBOSTOCK_LIGHTING_H #define MBOSTOCK_LIGHTING_H - +#ifdef __APPLE__ #include - +#else + #include +#endif namespace mbostock { class Light { diff -Naur polly-src/main.cpp polly-src-linux/main.cpp --- polly-src/main.cpp 2008-12-05 06:36:44.000000000 +0100 +++ polly-src-linux/main.cpp 2009-03-27 12:02:56.000000000 +0100 @@ -1,11 +1,23 @@ // -*- C++ -*- +#ifdef __APPLE__ #include #include +#else + #include + #include + #include +#endif + #include #include #include + +#ifdef __APPLE__ #include +#else + #include +#endif #include "room.h" #include "shader.h" @@ -192,6 +204,11 @@ } int main(int argc, char** argv) { + +#ifndef __APPLE__ + glutInit(&argc, argv); +#endif + SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO); SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1); diff -Naur polly-src/Makefile polly-src-linux/Makefile --- polly-src/Makefile 2008-12-05 09:09:21.000000000 +0100 +++ polly-src-linux/Makefile 2009-03-27 12:25:08.000000000 +0100 @@ -1,3 +1,6 @@ +MACHINE= $(shell uname -s) + +ifeq ($(MACHINE),Darwin) CXXFLAGS = \ -O2 \ -I/System/Library/Frameworks/GLUT.framework/Headers \ @@ -25,7 +28,30 @@ resources/*.vert \ resources/world.xml +else +CXXFLAGS = \ + -O2 \ + `sdl-config --cflags` \ + -I/usr/include \ + +LDFLAGS = \ + -lGLU \ + -lGL \ + -lGLEW \ + -lSDL \ + -lSDL_image \ + -lSDL_mixer \ + -ltinyxml + +endif + +ifeq ($(MACHINE),Darwin) all : obj/Polly-B-Gone.app +else +all : obj/polly-b-gone +endif + +ifeq ($(MACHINE),Darwin) obj/main.out : \ obj/ball.o \ @@ -66,6 +92,48 @@ obj/worlds.o \ SDLMain.m +else + +obj/main.out : \ + obj/ball.o \ + obj/block.o \ + obj/escalator.o \ + obj/fan.o \ + obj/lighting.o \ + obj/material.o \ + obj/model.o \ + obj/physics/constraint.o \ + obj/physics/force.o \ + obj/physics/particle.o \ + obj/physics/rotation.o \ + obj/physics/shape.o \ + obj/physics/transform.o \ + obj/physics/translation.o \ + obj/physics/vector.o \ + obj/player.o \ + obj/portal.o \ + obj/ramp.o \ + obj/resource.o \ + obj/room.o \ + obj/room_force.o \ + obj/room_object.o \ + obj/rotating.o \ + obj/seesaw.o \ + obj/shader.o \ + obj/simulation.o \ + obj/sound.o \ + obj/switch.o \ + obj/texture.o \ + obj/trail.o \ + obj/transforming.o \ + obj/translating.o \ + obj/tube.o \ + obj/wall.o \ + obj/world.o \ + obj/worlds.o + +endif + obj/physics/particle_test.out : \ obj/physics/force.o \ obj/physics/particle.o \ @@ -79,6 +147,8 @@ obj/physics/vector_test.out : \ obj/physics/vector.o +ifeq ($(MACHINE),Darwin) + obj/Polly-B-Gone.app : obj/main.out $(RESOURCES) resources/Info.plist Makefile rm -rf $@ mkdir -p $@/Contents/MacOS @@ -94,6 +164,11 @@ find $@/Contents/Frameworks -name Headers | xargs rm -r # ln -sf ../../../../resources/world.xml $@/Contents/Resources/world.xml +else +obj/polly-b-gone : obj/main.out + mv obj/main.out polly-b-gone +endif + physics/%.run : obj/physics/%.out ./$< diff -Naur polly-src/material.cpp polly-src-linux/material.cpp --- polly-src/material.cpp 2008-12-01 23:33:04.000000000 +0100 +++ polly-src-linux/material.cpp 2009-03-27 11:50:43.000000000 +0100 @@ -1,6 +1,9 @@ // -*- C++ -*- - +#ifdef __APPLE__ #include +#else + #include +#endif #include #include #include diff -Naur polly-src/model.cpp polly-src-linux/model.cpp --- polly-src/model.cpp 2008-12-01 23:33:04.000000000 +0100 +++ polly-src-linux/model.cpp 2009-03-27 11:51:59.000000000 +0100 @@ -1,7 +1,11 @@ // -*- C++ -*- - +#ifdef __APPLE__ #include #include +#else + #include + #include +#endif #include #include #include diff -Naur polly-src/model.h polly-src-linux/model.h --- polly-src/model.h 2008-12-01 23:33:04.000000000 +0100 +++ polly-src-linux/model.h 2009-03-27 11:49:31.000000000 +0100 @@ -2,9 +2,11 @@ #ifndef MBOSTOCK_MODEL_H #define MBOSTOCK_MODEL_H - +#ifdef __APPLE__ #include - +#else + #include +#endif #include "physics/shape.h" #include "physics/vector.h" diff -Naur polly-src/player.cpp polly-src-linux/player.cpp --- polly-src/player.cpp 2008-12-02 05:44:57.000000000 +0100 +++ polly-src-linux/player.cpp 2009-03-27 11:52:38.000000000 +0100 @@ -1,8 +1,13 @@ // -*- C++ -*- - +#ifdef __APPLE__ #include #include #include +#else + #include + #include + #include +#endif #include #include #include diff -Naur polly-src/resource.cpp polly-src-linux/resource.cpp --- polly-src/resource.cpp 2008-11-16 20:52:47.000000000 +0100 +++ polly-src-linux/resource.cpp 2009-03-27 12:03:59.000000000 +0100 @@ -9,7 +9,11 @@ using namespace mbostock; const char* Resources::path() { +#ifdef __APPLE__ return "Contents/Resources/"; +#else + return "resources/"; +#endif } const char* Resources::readFile(const char* p) { diff -Naur polly-src/seesaw.cpp polly-src-linux/seesaw.cpp --- polly-src/seesaw.cpp 2008-12-02 11:08:31.000000000 +0100 +++ polly-src-linux/seesaw.cpp 2009-03-27 11:53:02.000000000 +0100 @@ -1,7 +1,9 @@ // -*- C++ -*- - +#ifdef __APPLE__ #include - +#else + #include +#endif #include "material.h" #include "physics/constraint.h" #include "physics/force.h" diff -Naur polly-src/shader.cpp polly-src-linux/shader.cpp --- polly-src/shader.cpp 2008-12-02 10:01:07.000000000 +0100 +++ polly-src-linux/shader.cpp 2009-03-27 11:56:35.000000000 +0100 @@ -2,6 +2,10 @@ #include +#ifndef __APPLE__ +#include +#endif + #include "model.h" #include "resource.h" #include "shader.h" diff -Naur polly-src/shader.h polly-src-linux/shader.h --- polly-src/shader.h 2008-12-02 10:01:07.000000000 +0100 +++ polly-src-linux/shader.h 2009-03-27 11:53:38.000000000 +0100 @@ -3,7 +3,11 @@ #ifndef _SHADER_H #define _SHADER_H +#ifdef __APPLE__ #include +#else + #include +#endif namespace mbostock { diff -Naur polly-src/simulation.cpp polly-src-linux/simulation.cpp --- polly-src/simulation.cpp 2008-11-07 07:02:22.000000000 +0100 +++ polly-src-linux/simulation.cpp 2009-03-27 11:57:06.000000000 +0100 @@ -1,6 +1,10 @@ // -*- C++ -*- +#ifdef __APPLE_ #include +#else + #include +#endif #include "simulation.h" diff -Naur polly-src/sound.cpp polly-src-linux/sound.cpp --- polly-src/sound.cpp 2008-12-05 06:36:44.000000000 +0100 +++ polly-src-linux/sound.cpp 2009-03-27 11:57:56.000000000 +0100 @@ -1,7 +1,13 @@ // -*- C++ -*- +#ifdef __APPLE__ #include #include +#else +#include +#include +#endif + #include #include #include diff -Naur polly-src/texture.cpp polly-src-linux/texture.cpp --- polly-src/texture.cpp 2008-11-27 07:14:07.000000000 +0100 +++ polly-src-linux/texture.cpp 2009-03-27 11:58:37.000000000 +0100 @@ -1,9 +1,17 @@ // -*- C++ -*- +#ifdef __APPLE__ #include #include #include #include +#else +#include +#include +#include +#include +#endif + #include #include #include diff -Naur polly-src/texture.h polly-src-linux/texture.h --- polly-src/texture.h 2008-11-27 07:14:07.000000000 +0100 +++ polly-src-linux/texture.h 2009-03-27 11:51:05.000000000 +0100 @@ -2,9 +2,11 @@ #ifndef MBOSTOCK_TEXTURE_H #define MBOSTOCK_TEXTURE_H - +#ifdef __APPLE__ #include - +#else + #include +#endif namespace mbostock { class Texture { diff -Naur polly-src/world.cpp polly-src-linux/world.cpp --- polly-src/world.cpp 2008-12-05 01:41:18.000000000 +0100 +++ polly-src-linux/world.cpp 2009-03-27 11:59:09.000000000 +0100 @@ -1,6 +1,10 @@ // -*- C++ -*- +#ifdef __APPLE__ #include +#else + #include +#endif #include "material.h" #include "portal.h" diff -Naur polly-src/worlds.cpp polly-src-linux/worlds.cpp --- polly-src/worlds.cpp 2008-12-05 06:36:44.000000000 +0100 +++ polly-src-linux/worlds.cpp 2009-03-27 11:59:57.000000000 +0100 @@ -1,4 +1,12 @@ +#ifdef __APPLE__ #include +#else +#ifndef TIXML_USE_STL +#define TIXML_USE_STL +#endif +#include +#endif + #include #include #include