OSTARSCREAM=\
../Starscream/Main68k/main68k.o\
../Starscream/Sub68k/sub68k.o

OFILES=\
ccnet.o\
cd_file.o\
cd_sys.o\
cdda_mp3.o\
cpu_68k.o\
cpu_sh2.o\
cpu_z80.o\
lc89510.o\
m68kd.o\
pcm.o\
port.o\
psg.o\
sh2.o\
sh2d.o\
timer.o\
unzip.o\
wave.o\
ym2612.o\
z80dis.o\
cd_aspi.o\
debug.o\
g_ddraw_dummy.o\
g_dinput_dummy.o\
g_dsound_dummy_again.o\
g_main_dummy.o\
gens_dummy.o\
ggenie.o\
rom.o\
save.o\
scrshot.o\
blit.o\
gfx_cd.o\
io.o\
mem_m68k.o\
mem_s68k.o\
mem_sh2.o\
mem_z80.o\
misc.o\
pwm.o\
sh2a.o\
vdp_32x.o\
vdp_io.o\
vdp_rend.o\
z80.o\
mp3_dec/dct64_i386.o\
mp3_dec/layer3.o\
mp3_dec/common.o\
mp3_dec/decode_i386.o\
mp3_dec/interface.o\
mp3_dec/tabinit.o

OGTK=\
glade/callbacks.o\
glade/interface.o\
glade/support.o

GTKCFLAGS=-DWITH_GTK -DGTK_DISABLE_DEPRECATED `pkg-config gtk+-2.0 --cflags`


#uncomment this if you want to enable GTK support (default)
CFLAGS=-Wall -O3 -D__PORT__  `sdl-config --cflags` -I. $(GTKCFLAGS)
#uncomment this if if you want to disable GTK support
#CFLAGS=-Wall -g -D__PORT__  `sdl-config --cflags` -I.

CXXFLAGS=$(CFLAGS)


GTKLDFLAGS=`pkg-config gtk+-2.0 --libs`

#uncomment this if you want to enable GTK support (default)
LDFLAGS=-lm `sdl-config --libs` -lz -lstdc++ -s $(GTKLDFLAGS)
#uncomment this if you want to disable GTK support
#LDFLAGS=-lm `sdl-config --libs` -lz -lstdc++ -s


NASMFLAGS=-D__GCC2 -f elf -O3
CC=gcc
CXX=g++
TARGET=gens

#uncomment this if you want to enable GTK support (default)
ALLFILES = $(OFILES) $(OSTARSCREAM) $(OGTK)
#uncomment this if you want to disable GTK support
#ALLFILES = $(OFILES) $(OSTARSCREAM)

.SUFFIXES:
.SUFFIXES:.c .cpp .asm .o

all: $(ALLFILES)
	$(CC) $^ $(LDFLAGS) -o $(TARGET)

../Starscream/Main68k/main68k.o: ../Starscream/Main68k/star
	../Starscream/Main68k/star ../Starscream/Main68k/temp.asm -hog -name main68k_
	nasm -f elf ../Starscream/Main68k/temp.asm -o$@
	rm -f ../Starscream/Main68k/temp.asm 

../Starscream/Sub68k/sub68k.o: ../Starscream/Sub68k/star
	../Starscream/Sub68k/star ../Starscream/Sub68k/temp.asm -hog -name sub68k_
	nasm -f elf ../Starscream/Sub68k/temp.asm -o$@
	rm -f ../Starscream/Sub68k/temp.asm

../Starscream/Main68k/star: ../Starscream/Main68k/star.c
	gcc -o$@ $^
../Starscream/Sub68k/star: ../Starscream/Sub68k/star.c
	gcc -o$@ $^
	
.c.o:
.cpp.o:
.asm.o:
	nasm $(NASMFLAGS) $^ -o$@

clean:
	rm -rf $(OFILES) $(OGTK) $(TARGET)

extra-clean: clean
	rm -f ../Starscream/Main68k/star ../Starscream/Sub68k/star $(OSTARSCREAM)
	
