# Noiz2sa makefile(MinGW 2.0.0)
# $Id: Makefile,v 1.4 2003/08/10 09:00:05 kenta Exp $

SYS_USR = /usr/local/devkitPro/devkitGP2X/sysroot/usr/
#CROSS_COMPILE = /devkitGP2X/bin/arm-linux-
CROSS_COMPILE = arm-linux-

GP2X_VERSION=V3
USE_ASM=1
PROFILE=0

NAME   = noiz2sa
RM     = rm -f
AS     = $(CROSS_COMPILE)as
CC     = $(CROSS_COMPILE)gcc
CXX    = $(CROSS_COMPILE)g++
STRIP  = $(CROSS_COMPILE)strip

PROG   = $(NAME)


LDFLAGS  = $(shell $(SYS_USR)bin/libmikmod-config --prefix=$(SYS_USR) --libs)
# LDFLAGS += $(shell $(SYS_USR)bin/sdl-config --prefix=$(SYS_USR) --libs)
LDFLAGS	+= -O3 -lstdc++ -pthread -lm -static -msoft-float

DEFAULT_CFLAGS  = $(shell $(SYS_USR)bin/libmikmod-config --cflags)
# DEFAULT_CFLAGS += $(shell $(SYS_USR)bin/sdl-config --cflags)
DEFAULT_CFLAGS += -DGP2X -msoft-float


MORE_CFLAGS  = -Wall -O3 -DDATA_PREFIX=\"data/\" -DFILE_SEPARATOR=\"/\" -DUSE_BLITTER
MORE_CFLAGS += -mtune=arm920t -fomit-frame-pointer -ffast-math
ifeq "$(PROFILE)" "1"
MORE_CFLAGS += -fprofile-generate
LDFLAGS += -fprofile-generate
endif
ifeq "$(PROFILE)" "2"
MORE_CFLAGS += -fprofile-use
LDFLAGS += -fprofile-use
endif

CFLAGS  = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)
CXXFLAGS  = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -I./src/bulletml -I./src

OBJS =	src/$(NAME).o \
	src/ship.o \
	src/shot.o \
	src/frag.o \
	src/bonus.o \
	src/foe.o \
	src/foecommand.o \
	src/barragemanager.o \
	src/attractmanager.o \
	src/background.o \
	src/letterrender.o \
	src/screen.o \
	src/clrtbl.o \
	src/vector.o \
	src/degutil.o \
	src/soundmanager_mikmod.o \
	src/bulletml/bulletmlparser.o \
	src/bulletml/bulletmlparser-tinyxml.o \
	src/bulletml/bulletmlrunner.o \
	src/bulletml/bulletmlrunnerimpl.o \
	src/bulletml/bulletmltree.o \
	src/bulletml/calc.o \
	src/bulletml/formula-variables.o \
	src/bulletml/tinyxml/tinyxml.o \
	src/bulletml/tinyxml/tinyxmlerror.o \
	src/bulletml/tinyxml/tinyxmlparser.o \
	src/gp2x/gp2x.o \
	src/gp2x/usbjoy.o \
	src/gp2x/squidgehack.o \
	src/gp2x/memset.o \
	src/gp2x/memcpy.o

ifeq ($(USE_ASM),1)
OBJS += src/gp2x/miscasm.o
DEFAULT_CFLAGS += -DUSE_ASM
endif

.s.o:
	$(CC) $(CFLAGS) -c $< -o $@


all: $(PROG)$(GP2X_VERSION)

$(PROG): $(OBJS)
	$(CC) -o $@ $^ $(LDFLAGS)
	$(STRIP) $@

$(PROG)$(GP2X_VERSION): $(PROG)
	cp $(PROG) $(PROG)$(GP2X_VERSION)

up: $(PROG)$(GP2X_VERSION)
	cp -v $< /mnt/gp2x/mnt/sd/games/noiz2sa/

clean:
	$(RM) $(PROG) $(PROG)$(GP2X_VERSION) $(OBJS)
