WIP: Vibra support
[neverball] / Makefile
index 0278649..e594c89 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -16,12 +16,16 @@ $(info Will make a "$(BUILD)" build of Neverball $(VERSION).)
 
 #------------------------------------------------------------------------------
 # Provide a target system hint for the Makefile.
-# Recognized PLATFORM values: darwin, mingw.
+# Recognized PLATFORM values: darwin, mingw, maemo.
 
 ifeq ($(shell uname), Darwin)
     PLATFORM := darwin
 endif
 
+ifdef _SBOX_DIR
+    PLATFORM := maemo
+endif
+
 #------------------------------------------------------------------------------
 # Paths (packagers might want to set DATADIR and LOCALEDIR)
 
@@ -82,14 +86,14 @@ else
     ALL_CPPFLAGS += -DENABLE_NLS=1
 endif
 
-ifeq ($(ENABLE_ODE),1)
-    ALL_CPPFLAGS += $(shell ode-config --cflags)
-endif
-
 ifeq ($(PLATFORM),darwin)
     ALL_CPPFLAGS += -I/opt/local/include
 endif
 
+ifeq ($(PLATFORM),maemo)
+    ALL_CPPFLAGS += -D__MAEMO__ $(shell pkg-config --cflags libosso)
+endif
+
 ALL_CPPFLAGS += $(CPPFLAGS)
 
 #------------------------------------------------------------------------------
@@ -97,7 +101,12 @@ ALL_CPPFLAGS += $(CPPFLAGS)
 
 SDL_LIBS := $(shell sdl-config --libs)
 PNG_LIBS := $(shell libpng-config --libs)
+
+ifeq ($(ENABLE_FS),stdio)
+FS_LIBS :=
+else
 FS_LIBS := -lphysfs
+endif
 
 # The  non-conditionalised values  below  are specific  to the  native
 # system. The native system of this Makefile is Linux (or GNU+Linux if
@@ -114,10 +123,6 @@ ifeq ($(ENABLE_TILT),loop)
 endif
 endif
 
-ifeq ($(ENABLE_ODE),1)
-    ODE_LIBS := $(shell ode-config --libs)
-endif
-
 OGL_LIBS := -lGL -lm
 
 ifeq ($(PLATFORM),mingw)
@@ -138,14 +143,22 @@ ifeq ($(PLATFORM),darwin)
     OGL_LIBS  := -framework OpenGL
 endif
 
+ifeq ($(PLATFORM),maemo)
+    OGL_LIBS := -lm -lSDL_gles -lEGL -lGLES_CM
+endif
+
 BASE_LIBS := -ljpeg $(PNG_LIBS) $(FS_LIBS)
 
 ifeq ($(PLATFORM),darwin)
     BASE_LIBS += -L/opt/local/lib
 endif
 
+ifeq ($(PLATFORM),maemo)
+    BASE_LIBS += $(shell pkg-config --libs libosso)
+endif
+
 ALL_LIBS := $(SDL_LIBS) $(BASE_LIBS) $(TILT_LIBS) $(INTL_LIBS) -lSDL_ttf \
-    -lvorbisfile $(OGL_LIBS) $(ODE_LIBS)
+    -lvorbisfile $(OGL_LIBS)
 
 #------------------------------------------------------------------------------
 
@@ -169,15 +182,16 @@ endif
 MAPC_OBJS := \
        share/vec3.o        \
        share/base_image.o  \
-       share/solid.o       \
+       share/solid_base.o  \
        share/binary.o      \
        share/base_config.o \
        share/common.o      \
-       share/fs.o          \
+       share/fs_common.o   \
        share/fs_png.o      \
        share/fs_jpg.o      \
        share/dir.o         \
        share/array.o       \
+       share/list.o        \
        share/mapc.o
 BALL_OBJS := \
        share/lang.o        \
@@ -185,12 +199,12 @@ BALL_OBJS := \
        share/vec3.o        \
        share/base_image.o  \
        share/image.o       \
-       share/solid.o       \
-       share/solid_gl.o    \
+       share/solid_base.o  \
+       share/solid_vary.o  \
+       share/solid_draw.o  \
        share/solid_cmd.o   \
        share/solid_all.o   \
        share/part.o        \
-       share/back.o        \
        share/geom.o        \
        share/item.o        \
        share/ball.o        \
@@ -198,6 +212,7 @@ BALL_OBJS := \
        share/base_config.o \
        share/config.o      \
        share/video.o       \
+       share/glext.o       \
        share/binary.o      \
        share/state.o       \
        share/audio.o       \
@@ -210,7 +225,7 @@ BALL_OBJS := \
        share/cmd.o         \
        share/array.o       \
        share/dir.o         \
-       share/fs.o          \
+       share/fs_common.o   \
        share/fs_png.o      \
        share/fs_jpg.o      \
        share/fs_rwops.o    \
@@ -221,6 +236,7 @@ BALL_OBJS := \
        ball/game_client.o  \
        ball/game_server.o  \
        ball/game_proxy.o   \
+       ball/game_draw.o    \
        ball/score.o        \
        ball/level.o        \
        ball/progress.o     \
@@ -228,12 +244,12 @@ BALL_OBJS := \
        ball/demo.o         \
        ball/demo_dir.o     \
        ball/util.o         \
+       ball/speed.o        \
        ball/st_conf.o      \
        ball/st_demo.o      \
        ball/st_save.o      \
        ball/st_goal.o      \
-       ball/st_fall_out.o  \
-       ball/st_time_out.o  \
+       ball/st_fail.o      \
        ball/st_done.o      \
        ball/st_level.o     \
        ball/st_over.o      \
@@ -253,17 +269,18 @@ PUTT_OBJS := \
        share/vec3.o        \
        share/base_image.o  \
        share/image.o       \
-       share/solid.o       \
-       share/solid_gl.o    \
+       share/solid_base.o  \
+       share/solid_vary.o  \
+       share/solid_draw.o  \
        share/solid_cmd.o   \
        share/solid_all.o   \
        share/part.o        \
        share/geom.o        \
        share/ball.o        \
-       share/back.o        \
        share/base_config.o \
        share/config.o      \
        share/video.o       \
+       share/glext.o       \
        share/binary.o      \
        share/audio.o       \
        share/state.o       \
@@ -272,7 +289,7 @@ PUTT_OBJS := \
        share/common.o      \
        share/syswm.o       \
        share/list.o        \
-       share/fs.o          \
+       share/fs_common.o   \
        share/fs_png.o      \
        share/fs_jpg.o      \
        share/fs_rwops.o    \
@@ -288,12 +305,17 @@ PUTT_OBJS := \
        putt/st_conf.o      \
        putt/main.o
 
-ifeq ($(ENABLE_ODE),1)
-BALL_OBJS += share/solid_sim_ode.o
-PUTT_OBJS += share/solid_sim_ode.o
-else
 BALL_OBJS += share/solid_sim_sol.o
 PUTT_OBJS += share/solid_sim_sol.o
+
+ifeq ($(ENABLE_FS),stdio)
+BALL_OBJS += share/fs_stdio.o
+PUTT_OBJS += share/fs_stdio.o
+MAPC_OBJS += share/fs_stdio.o
+else
+BALL_OBJS += share/fs_physfs.o
+PUTT_OBJS += share/fs_physfs.o
+MAPC_OBJS += share/fs_physfs.o
 endif
 
 ifeq ($(ENABLE_TILT),wii)
@@ -302,9 +324,14 @@ else
 ifeq ($(ENABLE_TILT),loop)
 BALL_OBJS += share/tilt_loop.o
 else
+ifeq ($(PLATFORM),maemo)
+BALL_OBJS += share/tilt_maemo.o
+BALL_OBJS += share/maemo.o
+else
 BALL_OBJS += share/tilt_null.o
 endif
 endif
+endif
 
 ifeq ($(PLATFORM),mingw)
 BALL_OBJS += neverball.ico.o