# _____     ___ ____     ___ ____
#  ____|   |    ____|   |        | |____|
# |     ___|   |____ ___|    ____| |    \    PS2DEV Open Source Project.
#-----------------------------------------------------------------------
# Copyright 2001-2004, ps2dev - http://www.ps2dev.org
# Licenced under Academic Free License version 2.0
# Review ps2sdk README & LICENSE files for further details.
#
# $Id: Makefile 1 2007-05-08 16:56:27Z polo $

EE_BIN = Hd_Gui.elf
EE_GUI_OBJS = main.o pad.o draw.o elf.o config.o timer.o filer.o\
              mctools.o mc_rpc.o background.o icons.o\

EE_OBJS = poweroff.o iomanx.o filexio.o ps2atad.o ps2dev9.o\
					ps2ip.o ps2smap.o ps2hdd.o ps2fs.o ps2netfs.o\
					usbd.o usbhdfsd.o ps2host.o fakehost.o vmcfs.o\
					mcdump.o mcflash.o loader.o mcemuloader.o $(EE_GUI_OBJS)


EE_INCS := -I$(PS2DEV)/gsKit/include -I$(PS2DEV)/libjpg/include -I$(PS2SDK)/sbv/include
EE_LDFLAGS := -L$(PS2DEV)/gsKit/lib -L$(PS2DEV)/libjpg -L$(PS2SDK)/sbv/lib -s
EE_LIBS = -lpad -lgsKit -ldmaKit -ljpg -lmc -lhdd -lmf -lfileXio -lpatches -lpoweroff -ldebug

all:
	$(MAKE) -C ../modules/hdd/atadev9
	bin2c ../modules/hdd/atadev9/bin/atadev9.irx ../modules/bin/atadev9irx.h atadev9irx
	$(MAKE) -C ../modules/hdd/apa
	bin2c ../modules/hdd/apa/bin/hdd.irx ../modules/bin/hddirx.h hddirx
	$(MAKE) -C ../modules/hdd/pfs
	bin2c ../modules/hdd/pfs/bin/pfs.irx ../modules/bin/pfsirx.h pfsirx
	$(MAKE) -C ../modules/usb/usbdemu
	bin2c ../modules/usb/usbdemu/bin/usbdemu.irx ../modules/bin/usbdemu.h usbdemu
	$(MAKE) -C ../modules/usb/usbhdemu
	bin2c ../modules/usb/usbhdemu/bin/usbhdemu.irx ../modules/bin/usbhdemu.h usbhdemu
	$(MAKE) -C ../modules/vmc/mcsioemu
	bin2c ../modules/vmc/mcsioemu/mcsioemu.irx ../modules/bin/mcemuirx.h mcemuirx
	$(MAKE) -C ../modules/imgdrv
	bin2c ../modules/imgdrv/imgdrv.irx ../modules/bin/imgdrv.h imgdrv_irx
	$(MAKE) -C ../modules/eesync
	bin2c ../modules/eesync/eesync.irx ../modules/bin/eesync.h eesync_irx
#	$(MAKE) -C ../modules/modhook
#	bin2c ../modules/modhook/modhook.irx ../modules/bin/modhook.h modhook
	$(MAKE) $(EE_BIN)

gui:
	$(MAKE) $(EE_BIN)

run:
	ps2client -h 192.168.0.10 -t 1 execee host:$(EE_BIN)

run1:
	ps2client -h 192.168.0.10 execee host:$(EE_BIN)

reset: clean
	ps2client -h 192.168.0.10 reset

usbd.s:
	bin2s $(PS2SDK)/iop/irx/usbd.irx usbd.s usbd_irx

usbhdfsd.s:
	bin2s $(PS2DEV)/usbhdfsd/bin/usbhdfsd.irx usbhdfsd.s usb_mass_irx

poweroff.s:
	bin2s $(PS2SDK)/iop/irx/poweroff.irx poweroff.s poweroff_irx

iomanx.s:
	bin2s $(PS2SDK)/iop/irx/iomanX.irx iomanx.s iomanx_irx

filexio.s:
	bin2s $(PS2SDK)/iop/irx/fileXio.irx filexio.s filexio_irx

ps2dev9.s:
	bin2s $(PS2SDK)/iop/irx/ps2dev9.irx ps2dev9.s ps2dev9_irx

ps2ip.s:
	bin2s $(PS2SDK)/iop/irx/ps2ip.irx ps2ip.s ps2ip_irx

ps2smap.s:
	bin2s $(PS2ETH)/bin/ps2smap.irx ps2smap.s ps2smap_irx

ps2atad.s:
	bin2s $(PS2SDK)/iop/irx/ps2atad.irx ps2atad.s ps2atad_irx

ps2hdd.s:
	bin2s $(PS2SDK)/iop/irx/ps2hdd.irx ps2hdd.s ps2hdd_irx

ps2fs.s:
	bin2s $(PS2SDK)/iop/irx/ps2fs.irx ps2fs.s ps2fs_irx

ps2netfs.s:
	bin2s $(PS2SDK)/iop/irx/ps2netfs.irx ps2netfs.s ps2netfs_irx

fakehost.s:
	bin2s $(PS2SDK)/iop/irx/fakehost.irx fakehost.s fakehost_irx

ps2host.s:
	$(MAKE) -C ../modules/ps2host
	bin2s ../modules/ps2host/ps2host.irx ps2host.s ps2host_irx

vmcfs.s:
	$(MAKE) -C ../modules/vmc/vmcfs
	bin2s ../modules/vmc/vmcfs/bin/vmcfs.irx vmcfs.s vmcfs_irx

mcdump.s:
	$(MAKE) -C ../modules/vmc/mcdump
	bin2s ../modules/vmc/mcdump/mcdump.irx mcdump.s mcdump_irx

mcflash.s:
	$(MAKE) -C ../modules/vmc/mcflash
	bin2s ../modules/vmc/mcflash/mcflash.irx mcflash.s mcflash_irx
	
mcemuloader.s:
	$(MAKE) all -C ../loaders/mcemuloader
	bin2s ../loaders/mcemuloader/mcemuloader.elf mcemuloader.s mcemuloader_elf

loader.s:
	$(MAKE) -C ../loaders/elfloader
	bin2s ../loaders/elfloader/loader.elf loader.s loader_elf

clean:
	rm -f *.o *.s *.bak *.elf

clean_gui:
	rm -f *.bak *.elf $(EE_GUI_OBJS)

clean_all:
	$(MAKE) -C ../loaders/mcemuloader clean
	$(MAKE) -C ../loaders/elfloader clean
	$(MAKE) -C ../modules/hdd/atadev9 clean
	$(MAKE) -C ../modules/hdd/apa clean
	$(MAKE) -C ../modules/hdd/pfs clean
	$(MAKE) -C ../modules/vmc/vmcfs clean
	$(MAKE) -C ../modules/vmc/mcdump clean
	$(MAKE) -C ../modules/vmc/mcflash clean	
	$(MAKE) -C ../modules/vmc/mcsioemu clean
	$(MAKE) -C ../modules/ps2host clean
#	$(MAKE) -C ../modules/modhook clean
	$(MAKE) -C ../modules/eesync clean
	$(MAKE) -C ../modules/imgdrv clean
	$(MAKE) -C ../modules/usb/usbdemu clean
	$(MAKE) -C ../modules/usb/usbhdemu clean
	rm -f *.o *.a *.s *.bak *.elf
	rm -f ../modules/bin/mcemuirx.h ../modules/bin/eesync.h ../modules/bin/imgdrv.h ../modules/bin/usbdemu.h ../modules/bin/usbhdemu.h \
	      ../modules/bin/atadev9irx.h ../modules/bin/pfsirx.h ../modules/bin/hddirx.h

include $(PS2SDK)/samples/Makefile.pref
include $(PS2SDK)/samples/Makefile.eeglobal
