#blockrage 0.2.3
#DC porting by Indiket

INC=-I../include 

OPT= -O3 -fstrict-aliasing -fexpensive-optimizations -foptimize-register-move  -freduce-all-givs -frename-registers -frerun-cse-after-loop -frerun-loop-opt -fschedule-insns -fno-sched-interblock -fsched-spec-load -fsingle-precision-constant -fstrength-reduce -fstrict-aliasing -ffast-math -fno-common  -fno-builtin -fno-exceptions -fargument-noalias-global -fomit-frame-pointer# -Wall -g  -ffreestanding

#OPT = -std=c99

KOS_CFLAGS = $(INC) -ml -m4-single-only -D_arch_dreamcast -D_arch_sub_pristine -DDREAMCAST \
$(OPT) \
-I$(KOS_BASE)/../../sh-elf/sh-elf/include \
-I$(KOS_BASE)/../kos-ports/include \
-I$(KOS_BASE)/addons/include/SDL \
-I$(KOS_BASE)/addons/include/GL \
-I$(KOS_BASE)/addons/include

KOS_CPPFLAGS+= ${KOS_CFLAGS} $(INC)

TARGET = blockrage.elf

.PHONY: all all-before all-after clean clean-custom

all: all-before $(TARGET) all-after

include dreamcast.mak

OBJS = bg.o gfxlib.o gfxout.o global.o keyboard.o main.o menus.o timer.o

include $(KOS_BASE)/Makefile.rules

clean:
	-rm -f $(TARGET) $(OBJS) romdisk.*

rm-elf:
	-rm -f $(TARGET) romdisk.*

$(TARGET): $(OBJS) $(PROBJS) romdisk.o
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \
		$(OBJS)  $(PROBJS)  romdisk.o $(OBJEXTRA) -L$(KOS_BASE)/lib -lgcc -lSDL_129 -lSDL_image_124 -lSDL_mixer_126 -lSDL_gfx -lpng_128 -lz_123 -lm -lSDL_129 -lstdc++ $(KOS_LIBS)
