# MSX Plugin for GameMusicGear by gama
#   Based on msxplug
#    Mitsutaka Okazaki

TARGET = in_msx

OBJS = in_msx.o

# Define to build this as a prx (instead of a static elf)
BUILD_PRX = 1
# Define the name of our custom exports (minus the .exp extension)
PRX_EXPORTS = ../Input_Exports.exp

DEFINES  = -DNO_FILTERS -DEMU2413_COMPACTION -DSUPPORT_MBM
CFLAGS   = $(DEFINES) -G0 -O2 -Wall -pipe -finline-functions -ffast-math -fomit-frame-pointer
CXXFLAGS = $(DEFINES) -G0 -O2 -Wall -pipe -finline-functions -ffast-math -fomit-frame-pointer
ASFLAGS  =

LDFLAGS = -mno-crt0 -nostartfiles

DEVICE_PATH=device
DEVICE_OBJECTS= \
	$(DEVICE_PATH)/emu2149.o \
	$(DEVICE_PATH)/emu2212.o\
	$(DEVICE_PATH)/emu76489.o \
	$(DEVICE_PATH)/emu8950.o \
	$(DEVICE_PATH)/emuadpcm.o

YM2413_OBJECTS_NORMAL=\
	$(DEVICE_PATH)/emu2413.o

YM2413_OBJECTS_NOFLOAT=\
	./ym2413.o \
	./ym2413_emu2413_wrapper.o

KMZ80_PATH=kmz80
KMZ80_OBJECTS= \
	$(KMZ80_PATH)/kmdmg.o \
	$(KMZ80_PATH)/kmevent.o \
	$(KMZ80_PATH)/kmr800.o \
	$(KMZ80_PATH)/kmz80.o \
	$(KMZ80_PATH)/kmz80c.o \
	$(KMZ80_PATH)/kmz80t.o

LIBKSS_PATH=libkss
LIBKSS_OBJECTS= \
	$(LIBKSS_PATH)/dc_filter.o \
	$(LIBKSS_PATH)/detect.o \
	$(LIBKSS_PATH)/filter.o \
	$(LIBKSS_PATH)/kssload.o \
	$(LIBKSS_PATH)/kssobj.o \
	$(LIBKSS_PATH)/kssplay.o \
	$(LIBKSS_PATH)/mixer.o \
	$(LIBKSS_PATH)/mmap.o \
	$(LIBKSS_PATH)/rc_filter.o \
	$(LIBKSS_PATH)/vm.o \
	$(LIBKSS_PATH)/convert/bgm2kss.o \
	$(LIBKSS_PATH)/convert/kss2kss.o \
	$(LIBKSS_PATH)/convert/mbm2kss.o \
	$(LIBKSS_PATH)/convert/mgs2kss.o \
	$(LIBKSS_PATH)/convert/mpk2kss.o \
	$(LIBKSS_PATH)/convert/opx2kss.o \
	$(LIBKSS_PATH)/convert/sfopen.o \
	$(LIBKSS_PATH)/pls/ppls.o \
	$(LIBKSS_PATH)/pls/sstream.o

OBJECTS_NORMAL  = $(DEVICE_OBJECTS) $(KMZ80_OBJECTS) $(LIBKSS_OBJECTS) $(YM2413_OBJECTS_NORMAL)
OBJECTS_NOFLOAT = $(DEVICE_OBJECTS) $(KMZ80_OBJECTS) $(LIBKSS_OBJECTS) $(YM2413_OBJECTS_NOFLOAT)

OBJS = $(OBJECTS_NOFLOAT) in_msx.o

INCDIR = libkss device kmz80
LIBDIR = ../../../SharedLib/lib
LIBS = -lm -lconfig

all: exports $(TARGET).prx
	$(CP) *.prx ../../../../release/GMGearMX/plugins/input
	$(CP) *.prx ../../../../bin/plugins/input
	$(CP) *.plugin ../../../../bin/plugins/input
	$(CP) *.plugin ../../../../release/GMGearMX/plugins/input

exports:
	psp-build-exports -s ../../Input_Exports.exp

PSPSDK = $(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
