ARCH=i486-linux

ifeq ($(findstring osx,$(ARCH)), osx)
	CFLAGS +=-fms-extensions -D_LINUX -O3 -DXBMC
	CXXFLAGS +=-fms-extensions -D_LINUX -O3 -DXBMC
else
	CFLAGS +=-D_LINUX -fPIC -DXBMC
	CXXFLAGS +=-D_LINUX -fPIC -DXBMC
endif

CODING_OBJS=src/coding/acm_decoder.o \
            src/coding/adx_decoder.o \
            src/coding/aica_decoder.o \
            src/coding/eaxa_decoder.o \
            src/coding/g721_decoder.o \
            src/coding/ima_decoder.o \
            src/coding/l5_555_decoder.o \
            src/coding/mpeg_decoder.o \
            src/coding/msadpcm_decoder.o \
            src/coding/nds_procyon_decoder.o \
            src/coding/ngc_afc_decoder.o \
            src/coding/ngc_dsp_decoder.o \
            src/coding/ngc_dtk_decoder.o \
            src/coding/nwa_decoder.o \
            src/coding/ogg_vorbis_decoder.o \
            src/coding/pcm_decoder.o \
            src/coding/psx_decoder.o \
            src/coding/sdx2_decoder.o \
            src/coding/ws_decoder.o \
            src/coding/xa_decoder.o

LAYOUT_OBJS=src/layout/aax_layout.o \
            src/layout/aix_layout.o \
            src/layout/ast_blocked.o \
            src/layout/blocked.o \
            src/layout/caf_blocked.o \
            src/layout/de2_blocked.o \
            src/layout/ea_block.o \
            src/layout/emff_blocked.o \
            src/layout/filp_blocked.o \
            src/layout/gsb_blocked.o \
            src/layout/halpst_blocked.o \
            src/layout/ims_block.o \
            src/layout/interleave.o \
            src/layout/interleave_byte.o \
            src/layout/mus_acm_layout.o \
            src/layout/nolayout.o \
            src/layout/str_snds_blocked.o \
            src/layout/thp_blocked.o \
            src/layout/vs_blocked.o \
            src/layout/ws_aud_blocked.o \
            src/layout/wsi_blocked.o \
            src/layout/xa_blocked.o \
            src/layout/xvas_block.o

META_OBJS=src/meta/aax.o \
          src/meta/acm.o \
          src/meta/adx_header.o \
          src/meta/afc_header.o \
          src/meta/agsc.o \
          src/meta/ahx.o \
          src/meta/aifc.o \
          src/meta/aix.o \
          src/meta/ast.o \
          src/meta/bgw.o \
          src/meta/brstm.o \
          src/meta/capdsp.o \
          src/meta/Cstr.o \
          src/meta/dc_asd.o \
          src/meta/dc_idvi.o \
          src/meta/dc_kcey.o \
          src/meta/dc_str.o \
          src/meta/dc_wav_dcs.o \
          src/meta/de2.o \
          src/meta/ea_header.o \
          src/meta/ea_old.o \
          src/meta/emff.o \
          src/meta/fsb.o \
          src/meta/gca.o \
          src/meta/gcsw.o \
          src/meta/genh.o \
          src/meta/gsp_gsb.o \
          src/meta/halpst.o \
          src/meta/idsp.o \
          src/meta/ish_isd.o \
          src/meta/ivb.o \
          src/meta/kraw.o \
          src/meta/msvp.o \
          src/meta/mus_acm.o \
          src/meta/musc.o \
          src/meta/musx.o \
          src/meta/naomi_spsd.o \
          src/meta/nds_sad.o \
          src/meta/nds_strm.o \
          src/meta/ngc_adpdtk.o \
          src/meta/ngc_bh2pcm.o \
          src/meta/ngc_caf.o \
          src/meta/ngc_dsp_std.o \
          src/meta/ngc_ffcc_str.o \
          src/meta/ngc_iadp.o \
          src/meta/ngc_pdt.o \
          src/meta/ngc_ssm.o \
          src/meta/ngc_tydsp.o \
          src/meta/ngc_waa_wac_wad_wam.o \
          src/meta/ngc_ymf.o \
          src/meta/nwa.o \
          src/meta/ogg_vorbis_file.o \
          src/meta/pcm.o \
          src/meta/pos.o \
          src/meta/ps2_ads.o \
          src/meta/ps2_ass.o \
          src/meta/ps2_aus.o \
          src/meta/ps2_bg00.o \
          src/meta/ps2_bmdx.o \
          src/meta/ps2_ccc.o \
          src/meta/ps2_dxh.o \
          src/meta/ps2_enth.o \
          src/meta/ps2_exst.o \
          src/meta/ps2_filp.o \
          src/meta/ps2_gbts.o \
          src/meta/ps2_hgc1.o \
          src/meta/ps2_ikm.o \
          src/meta/ps2_ild.o \
          src/meta/ps2_int.o \
          src/meta/ps2_joe.o \
          src/meta/ps2_kces.o \
          src/meta/ps2_leg.o \
          src/meta/ps2_mib.o \
          src/meta/ps2_mic.o \
          src/meta/ps2_mihb.o \
          src/meta/ps2_npsf.o \
          src/meta/ps2_p2bt.o \
          src/meta/ps2_pnb.o \
          src/meta/ps2_psh.o \
          src/meta/ps2_psw.o \
          src/meta/ps2_rkv.o \
          src/meta/ps2_rnd.o \
          src/meta/ps2_rstm.o \
          src/meta/ps2_rws.o \
          src/meta/ps2_rxw.o \
          src/meta/ps2_seg.o \
          src/meta/ps2_sfs.o \
          src/meta/ps2_sl3.o \
          src/meta/ps2_str.o \
          src/meta/ps2_svag.o \
          src/meta/ps2_tec.o \
          src/meta/ps2_vag.o \
          src/meta/ps2_vas.o \
          src/meta/ps2_vpk.o \
          src/meta/ps2_xa2.o \
          src/meta/ps2_xa30.o \
          src/meta/psx_cdxa.o \
          src/meta/psx_fag.o \
          src/meta/psx_gms.o \
          src/meta/raw.o \
          src/meta/riff.o \
          src/meta/rs03.o \
          src/meta/rsd.o \
          src/meta/rsf.o \
          src/meta/rwsd.o \
          src/meta/rwx.o \
          src/meta/sat_dvi.o \
          src/meta/sat_sap.o \
          src/meta/sdt.o \
          src/meta/sfl.o \
          src/meta/sli.o \
          src/meta/spt_spd.o \
          src/meta/ss_stream.o \
          src/meta/str_asr.o \
          src/meta/str_snds.o \
          src/meta/svs.o \
          src/meta/thp.o \
          src/meta/vgs.o \
          src/meta/vs.o \
          src/meta/wii_mus.o \
          src/meta/wii_smp.o \
          src/meta/wii_sng.o \
          src/meta/wii_sts.o \
          src/meta/ws_aud.o \
          src/meta/xbox_ims.o \
          src/meta/xbox_stma.o \
          src/meta/xbox_wavm.o \
          src/meta/xbox_wvs.o \
          src/meta/xbox_xmu.o \
          src/meta/xbox_xvas.o \
          src/meta/xbox_xwav.o \
          src/meta/xss.o \
          src/meta/xwb.o \
          src/meta/ydsp.o \
          src/meta/zwdsp.o

OBJS = $(CODING_OBJS) $(LAYOUT_OBJS) $(META_OBJS) XBMCVGM.o src/vgmstream.o src/util.o src/streamfile.o

SLIB=/home/marillat/src/xbmc-13.0~alpha9/system/players/paplayer/vgmstream-i486-linux.so

$(SLIB): $(OBJS)
ifeq ($(findstring osx,$(ARCH)), osx)
	$(CXX) $(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) $(BUNDLE1_O)
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

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

