ARCH=i486-linux
AS=nasm
OBJS=SPC700.o APU.o DSP.o SNESAPU.o
CFLAGS +=-D_LINUX -fPIC -I/home/marillat/src/xbmc-13.0~alpha9/lib/snesapu
CXXFLAGS +=-D_LINUX -fPIC -I/home/marillat/src/xbmc-13.0~alpha9/lib/snesapu
ifeq ($(findstring osx,$(ARCH)), osx)
	CFLAGS+=-fno-common
	CXXFLAGS+=-fno-common
	ASFLAGS=-Xvc -DLINUX -DCDECL -O1 -f macho
else
	ASFLAGS=-Xvc -DLINUX -O1 -f elf
endif

SYSDIR=/home/marillat/src/xbmc-13.0~alpha9/system/players/paplayer/
SO=SNESAPU-$(ARCH).so
SLIB=$(SYSDIR)/$(SO)

$(SLIB): $(OBJS)
ifeq ($(findstring osx,$(ARCH)), osx)
	$(CC) $(LDFLAGS) -Wl,-alias_list,/home/marillat/src/xbmc-13.0~alpha9/xbmc/cores/DllLoader/exports/wrapper_mach_alias \
		-bundle -undefined dynamic_lookup -read_only_relocs suppress -o $@ \
		/home/marillat/src/xbmc-13.0~alpha9/xbmc/cores/DllLoader/exports/wrapper.o $(OBJS)
else
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -o $@ $(OBJS) -Wl,--unresolved-symbols=ignore-all \
		`cat /home/marillat/src/xbmc-13.0~alpha9/xbmc/cores/DllLoader/exports/wrapper.def` /home/marillat/src/xbmc-13.0~alpha9/xbmc/cores/DllLoader/exports/wrapper.o
endif

%o : %Asm
	$(AS) $(ASFLAGS) -o $@ $<

include /home/marillat/src/xbmc-13.0~alpha9/Makefile.include
