DEVKIT = d:/Language/devkitGP2X

NAME   = cps2emu
RM     = rm -f
RMDIR  = rm -rf
MKDIR  = mkdir -p

CC     = $(DEVKIT)/bin/arm-linux-gcc
STRIP  = $(DEVKIT)/bin/arm-linux-strip

PROG   = $(NAME).gpe

CFLAGS = -mcpu=arm920 -mtune=arm920t -DGP2X
CFLAGS += -O3 -ffast-math -fstrict-aliasing -mstructure-size-boundary=32 -fexpensive-optimizations 
CFLAGS += -fweb -frename-registers -fomit-frame-pointer 
CFLAGS += -falign-functions=32 -falign-loops -falign-labels -falign-jumps 
CFLAGS += -finline -finline-functions -fno-builtin -fno-common 
CFLAGS += -I$(DEVKIT)/include -I$(DEVKIT)/include/SDL -I$(DEVKIT)/sysroot/usr/include
CFLAGS += -Isrc -Isrc/cps2

LDFLAGS = -static -L$(DEVKIT)/lib -L$(DEVKIT)/sysroot/usr/lib -lz

OBJ  = static/emumain.o static/emudraw.o static/font.o static/zip/unzip.o static/zip/zfile.o static/sound/qsound.o static/cps2/cache.o static/cps2/cps2.o \
	static/cps2/driver.o static/cps2/eeprom.o static/cps2/inptport.o static/cps2/memintrf.o static/cps2/sprite.o static/cps2/state.o static/cps2/timer.o \
	static/cps2/vidhrdw.o static/sound/sndintrf.o static/cps2/loadrom.o static/cps2/coin.o \
	static/cpu/cyclone/Cyclone.o static/cpu/cyclone/m68000.o static/cpu/drz80/DrZ80.o static/cpu/drz80/z80.o

all: all-before $(PROG)

all-before:
	$(MKDIR) "static"
	$(MKDIR) "static/zip"
	$(MKDIR) "static/sound"
	$(MKDIR) "static/cps2"
	$(MKDIR) "static/cpu/cyclone"
	$(MKDIR) "static/cpu/drz80"

clean:
	$(RMDIR) "static"

$(PROG): $(OBJ)
	$(CC) $(OBJ) -o $@ $(LDFLAGS)
	$(STRIP) $@

static/%.o:	src/%.c
	$(CC) $(INCLUDES) -c $(CFLAGS) $< -o $@

static/%.o:	src/%.s
	$(CC) $(INCLUDES) -c $(CFLAGS) $< -o $@
