# Global definitions
-PREFIX = /opt/open2x/gcc-4.1.1-glibc-2.3.6
+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
OBJS = main.o cpu.o memory.u video.o input.o sound.o gp2x.o gui.o \
- cheats.o zip.o cpu_threaded.z cpuctrl_mmsp2.o \
- arm_stub.o video_blend.o flush_cache.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)
+OBJS += pollux_dpc_set.o
+BIN = gpsp_wiz
+else
+BIN = gpsp_gp2x
+endif
+
+-include Makefile.local
# Platform specific definitions
-VPATH += ..
+VPATH += .. ../arm
CFLAGS += -DARM_ARCH -DGP2X_BUILD
+ifeq ($(WIZ),1)
+CFLAGS += -DWIZ_BUILD
+endif
# NOTE: -funroll-loops will slow down compiling considerably
CFLAGS += -O3 -std=c99 -msoft-float -funsigned-char -fno-common \
- -fno-builtin \
+ -fno-builtin -Wall \
INCLUDES = `$(PREFIX)/bin/sdl-config --cflags` -I$(PREFIX)/include
LIBS = `$(PREFIX)/bin/sdl-config --libs` \
- -lm -ldl -lpthread -lz -static
+ -lm -ldl -lpthread -lz
+ifneq ($(WIZ),1)
+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 $@ $<
%.o: %.S
$(CC) $(ASFLAGS) $(INCLUDES) -c -o $@ $<
-all: $(OBJS)
- $(CC) $(OBJS) $(LIBS) -o $(BIN)
+%.o: %.s
+ $(CC) $(ASFLAGS) $(INCLUDES) -c -o $@ $<
+
+$(BIN): $(OBJS)
+ $(CC) $(OBJS) $(LIBS) -o $(BIN)
$(STRIP) $(BIN)
clean: