# \[X̊i[ĂtH_
SRCDIR = InfoNES095J_Src

# pspdeṽCXg[tH_
PSPDEV = C:/cygwin/usr/local/pspdev/psp/bin

# C (*.c)
CC      =   $(PSPDEV)/psp-gcc
CFLAGS  =   -march=r4000 -O3 -fno-exceptions -g -mgp32 -mlong32 -c

# C++ (*.cpp)
CXX     =   $(PSPDEV)/psp-gcc
CPPFLAGS=   -march=r4000 -O3 -fno-exceptions -g -mgp32 -mlong32 -c

# ASM (*.s)
ASM		=	$(PSPDEV)/psp-gcc
ASMFLAGS=	-march=r4000 -g -mgp32 -c -xassembler -O

#   J
LINKER  =   $(PSPDEV)/psp-ld
LINKOPT =   -O0 -M -Ttext 8900000 -q

#   IuWFNg
OBJS =  $(SRCDIR)/psp/startup.o\
	$(SRCDIR)/psp/InfoNES_System_PSP.o $(SRCDIR)/psp/pspsdk.o $(SRCDIR)/psp/menu.o $(SRCDIR)/psp/filer.o\
	$(SRCDIR)/InfoNES.o $(SRCDIR)/InfoNES_Mapper.o $(SRCDIR)/InfoNES_pAPU.o $(SRCDIR)/K6502.o

#   Cu
LIBRARY = $(SRCDIR)/psp/unziplib.a

#   ˑ֌W
all	: EBOOT.PBP

EBOOT.PBP : outp
	elf2pbp outp "NES for PSP"
	rm outp

outp	: out
	outpatch.exe
	rm out

out	: $(OBJS)
	$(LINKER) $(LINKOPT) $(OBJS) $(LIBRARY) -o out > target.map

clean :
	rm $(OBJS) target.map

.c.o:
	$(CC) $(CFLAGS) $< -o $@

.cpp.o:
	$(CXX) $(CPPFLAGS) $< -o $@

.s.o:
	$(ASM) $(ASMFLAGS) $< -o $@

