SHELL = /bin/sh

PRODUCT = ps2vic

CC = ee-gcc
CFLAGS = -DPS2_EE -O3 -G0 -Wall -I$$PS2LIB/common/include -I$$PS2DEV/ee/ee/include -I$$PS2LIB/ee/include
LDFLAGS = -L$$PS2LIB/ee/lib -T$$PS2LIB/ee/startup/linkfile
LIBS = -lgcc -lc -lmc -lpad libkbd.a -lkernel
DEFS = 
SRCS = main.c vkeyboard.c gs.c g2.c ps2_asm.s dma_asm.s gs_asm.s m6502.c memory.c vic20.c roms.c via.c pad.c hw.s loadmodule.c sjpcm_rpc.c vic20_sound.c vic_i.c bitmap.c autorun.c gr_pointer.c gr_keyboard.c menu.c gr_button1.c gr_button2.c gr_button3.c gr_button4.c setup.c rombase.c f_arial.c f_retaliator.c prgmenu.c osdmsg.c kbd.c support.c
OBJS2 = $(SRCS:.c=.o)
OBJS = $(OBJS2:.s=.o)

.SUFFIXES: .c .o .s

.c.o:
	$(CC) $(DEFS) $(CFLAGS) -c $<
.s.o:
	$(CC) -xassembler-with-cpp $(DEFS) $(CFLAGS) -c $<

all: $(PRODUCT).elf

run: $(PRODUCT).elf
	ps2client execee host:$(PRODUCT).elf

reset:
	ps2client reset

resetrun: $(PRODUCT).elf
	ps2client reset
	sleep 4
	ps2client execee host:$(PRODUCT).elf

$(PRODUCT).elf: $(OBJS)
	$(CC) -nostartfiles $(LDFLAGS) -o $@ $$PS2LIB/ee/startup/crt0.o $(OBJS) $(LIBS)

clean:
	rm -f *~ *.o core $(PRODUCT).elf

