initial Caanoo port
[gpsp.git] / gp2x / Makefile
index e91ac43..9f06dd8 100644 (file)
@@ -4,32 +4,57 @@
 
 # Global definitions
 
-PREFIX  = /opt/open2x/gcc-4.1.1-glibc-2.3.6
-CC        = $(PREFIX)/bin/arm-open2x-linux-gcc
-STRIP     = $(PREFIX)/bin/arm-open2x-linux-strip
+CC        = $(CROSS_COMPILE)gcc
 
 OBJS      = main.o cpu.o memory.u video.o input.o sound.o gp2x.o gui.o        \
-            cheats.o zip.o cpu_threaded.z cpu_speed.o cpuctrl.o               \
-            gp2xminilib.o font.o display.o speedtest.o cmdline.o daemon.o     \
-            arm_stub.o video_blend.o
-BIN       = gpsp.gpe 
+            cheats.o zip.o cpu_threaded.z arm_stub.o video_blend.o            \
+            warm.o upscale_aspect.o
+ifeq ($(WIZ),1)
+POLLUX    = 1
+OBJS      += pollux_dpc_set.o
+BIN       = gpsp_wiz
+endif
+ifeq ($(CAANOO),1)
+POLLUX    = 1
+OBJS      += pollux_dpc_set.o
+BIN       = gpsp_caanoo
+endif
+ifeq ($(BIN),)
+BIN       = gpsp_gp2x
+endif
+
+-include Makefile.local
 
 # Platform specific definitions 
 
-VPATH      += ..
+VPATH      += .. ../arm
 CFLAGS     += -DARM_ARCH -DGP2X_BUILD
-# NOTE: -funroll-loops will slow down compiling considerably
-CFLAGS     += -O3 -std=c99 -msoft-float -funsigned-char -fno-common           \
-              -fno-builtin                                                    \
+ifeq ($(WIZ),1)
+CFLAGS     += -DWIZ_BUILD
+endif
+ifeq ($(POLLUX),1)
+CFLAGS     += -DPOLLUX_BUILD
+endif
+CFLAGS     += -std=c99 -msoft-float -funsigned-char -Wall -ggdb
+ifndef DEBUG
+CFLAGS     += -O2
+endif
 
-INCLUDES   = `$(PREFIX)/bin/arm-open2x-linux-sdl-config --cflags` 
-LIBS       = `$(PREFIX)/bin/arm-open2x-linux-sdl-config --libs`               \
-              -lm -ldl -lpthread -lz -static
+INCLUDES   = `sdl-config --cflags`
+LIBS       = `sdl-config --libs` \
+              -lm -ldl -lpthread -lz
+ifeq ($(WIZ)$(CAANOO),)
+LIBS       += -static
+endif
 
 # Compilation:
 
 .SUFFIXES: .c
 
+all:    $(BIN)
+
+cpu.o cpu_threaded.z: CFLAGS += -Wno-unused-variable -Wno-unused-label
+
 %.z: %.c
        $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $<
 
@@ -42,9 +67,11 @@ LIBS       = `$(PREFIX)/bin/arm-open2x-linux-sdl-config --libs`               \
 %.o: %.S
        $(CC) $(ASFLAGS) $(INCLUDES) -c -o $@ $<
 
-all:   $(OBJS)
-       $(CC) $(OBJS) $(LIBS) -o $(BIN)  
-       $(STRIP) $(BIN)
+%.o: %.s
+       $(CC) $(ASFLAGS) $(INCLUDES) -c -o $@ $<
+
+$(BIN):        $(OBJS)
+       $(CC) $(OBJS) $(LIBS) -o $(BIN)
 
 clean:
        rm -f *.o *.u *.z $(BIN)