#Makefile neutrinoSX2 for Win32 / cygwin

.PHONY: clean



#Changes following VAR to your system configuration

CC = gcc

LIB = -L/usr/lib -L/usr/local/lib -lSDL 

CFLAGS = -Wall -O3 -fomit-frame-pointer -funroll-loops -ffast-math -mcpu=pentium

CINCLUDE = -I/usr/local/include  -I./plugin_GS 

#End of Configuration



#Main Emu Objects
OBJ = nSX2.o elf_file.o r5900_memory.o r5900_main.o GS_main.o DMA_main.o nSX2_config.o

#Ini API Objects
OBJ_INIAPI = iniapi/iniapi.o

#Graphics Synthetiser Objects
OBJ_GS = plugin_gs/Draw.o plugin_gs/Prim.o plugin_gs/Soft.o plugin_gs/gs.o plugin_gs/Linux/x11.o  plugin_gs/Linux/Conf.o



all:	nSX2

nSX2:	$(OBJ) $(OBJ_GS) $(OBJ_INIAPI)
	$(CC) -o $@ $(OBJ)  $(OBJ_GS) $(OBJ_INIAPI) $(LIB) 
	#strip --strip-all $@
		

#dependencies
#Main Emu Objects
nSX2.o: nSX2.h plugin_gs/PS2Edefs.h  nSX2.c
	$(CC) $(CFLAGS) -c nSX2.c -o nSX2.o
	
elf_file.o: nSX2.h elf_file.h elf_file.c
	$(CC) $(CFLAGS) -c elf_file.c -o elf_file.o

r5900_memory.o: nSX2.h elf_file.h plugin_gs/PS2Edefs.h r5900_memory.c
	$(CC) $(CFLAGS) -c r5900_memory.c -o r5900_memory.o
	
r5900_main.o: nSX2.h r5900_main.h r5900_main_table.h r5900_main.c
	$(CC) $(CFLAGS) -c r5900_main.c -o r5900_main.o

GS_main.o: nSX2.h plugin_gs/PS2Edefs.h GS_main.c
	$(CC) $(CFLAGS) -c GS_main.c -o GS_main.o

DMA_main.o: nSX2.h plugin_gs/PS2Edefs.h DMA_main.c
	$(CC) $(CFLAGS) -c DMA_main.c -o DMA_main.o

nSX2_config.o: nSX2.h iniapi/iniapi.h nSX2_config.c
	$(CC) $(CFLAGS) -c nSX2_config.c -o nSX2_config.o

#dependencies
#Ini API Objects
iniapi/iniapi.o: iniapi/iniapi.h  iniapi/iniapi.c
	$(CC) $(CFLAGS) -c iniapi/iniapi.c -o iniapi/iniapi.o

#dependencies
#Graphics Synthetiser Objects
plugin_gs/Draw.o: plugin_gs/Draw.h plugin_gs/Draw.c
	$(CC) $(CFLAGS) -c plugin_gs/Draw.c -o plugin_gs/Draw.o
	
plugin_gs/Prim.o: plugin_gs/gs.h plugin_gs/Soft.h plugin_gs/Prim.c
	$(CC) $(CFLAGS) -c plugin_gs/Prim.c -o plugin_gs/Prim.o
	
plugin_gs/Soft.o: plugin_gs/gs.h plugin_gs/Soft.c
	$(CC) $(CFLAGS) -c plugin_gs/Soft.c -o plugin_gs/Soft.o
	
plugin_gs/gs.o: plugin_gs/gs.h plugin_gs/gs.c
	$(CC) $(CFLAGS) -c plugin_gs/gs.c -o plugin_gs/gs.o
	
plugin_gs/Linux/x11.o: plugin_gs/gs.h plugin_gs/Draw.h plugin_gs/Linux/x11.c
	$(CC) $(CFLAGS) -c plugin_gs/Linux/x11.c -o plugin_gs/Linux/x11.o
	
plugin_gs/Linux/Conf.o: nSX2.h plugin_gs/gs.h iniapi/iniapi.h plugin_gs/Linux/Conf.c
	$(CC) $(CFLAGS) -c plugin_gs/Linux/Conf.c -o plugin_gs/Linux/Conf.o



	
clean:
	rm -f $(OBJ)
	rm -f $(OBJ_GS)
	rm -f $(OBJ_INIAPI)

	

	
