2022-08-31 01:29:33 +00:00
|
|
|
|
|
|
|
LIBXMP_SRCS := \
|
|
|
|
common.c \
|
|
|
|
control.c \
|
|
|
|
dataio.c \
|
|
|
|
effects.c \
|
|
|
|
filter.c \
|
|
|
|
format.c \
|
|
|
|
hio.c \
|
|
|
|
it_load.c \
|
|
|
|
itsex.c \
|
|
|
|
lfo.c \
|
|
|
|
load.c \
|
|
|
|
load_helpers.c \
|
|
|
|
md5.c \
|
|
|
|
memio.c \
|
|
|
|
misc.c \
|
|
|
|
mix_all.c \
|
|
|
|
mixer.c \
|
|
|
|
mod_load.c \
|
|
|
|
period.c \
|
|
|
|
player.c \
|
|
|
|
read_event.c \
|
|
|
|
s3m_load.c \
|
|
|
|
sample.c \
|
|
|
|
scan.c \
|
|
|
|
smix.c \
|
|
|
|
virtual.c \
|
|
|
|
win32.c \
|
|
|
|
xm_load.c
|
|
|
|
|
|
|
|
LIBXMP_OBJS += $(patsubst %.c,$(PATH_INTERNAL_C)/parts/audio/extras/libxmp-lite/%.o,$(LIBXMP_SRCS))
|
|
|
|
|
|
|
|
LIBXMP_LIB := $(PATH_INTERNAL_C)/parts/audio/extras/libxmp-lite.a
|
|
|
|
|
|
|
|
$(PATH_INTERNAL_C)/parts/audio/extras/libxmp-lite/%.o: $(PATH_INTERNAL_C)/parts/audio/extras/libxmp-lite/%.c
|
2022-11-10 13:18:41 +00:00
|
|
|
$(CC) -O2 $(CFLAGS) -Wall -DLIBXMP_CORE_PLAYER -DLIBXMP_NO_PROWIZARD -DLIBXMP_NO_DEPACKERS -DBUILDING_STATIC $< -c -o $@
|
2022-08-31 01:29:33 +00:00
|
|
|
|
|
|
|
$(LIBXMP_LIB): $(LIBXMP_OBJS)
|
|
|
|
$(AR) rcs $@ $^
|
|
|
|
|
|
|
|
MA_VTABLES_SRCS := \
|
|
|
|
mod_ma_vtable.cpp \
|
|
|
|
radv2_ma_vtable.cpp
|
|
|
|
|
|
|
|
MA_VTABLES_OBJS := $(patsubst %.cpp,$(PATH_INTERNAL_C)/parts/audio/extras/%.o,$(MA_VTABLES_SRCS))
|
|
|
|
|
|
|
|
MIDI_MA_VTABLE_SRCS := midi_ma_vtable.cpp
|
|
|
|
MIDI_MA_VTABLE_STUB_SRCS := midi_ma_vtable_stub.cpp
|
|
|
|
|
|
|
|
MIDI_MA_VTABLES_OBJS := $(patsubst %.cpp,$(PATH_INTERNAL_C)/parts/audio/extras/%.o,$(MIDI_MA_VTABLE_SRCS))
|
|
|
|
MIDI_MA_VTABLES_STUB_OBJS := $(patsubst %.cpp,$(PATH_INTERNAL_C)/parts/audio/extras/%.o,$(MIDI_MA_VTABLE_STUB_SRCS))
|
|
|
|
|
|
|
|
# If we're using MIDI, then there should be a soundfont available to be linked in
|
|
|
|
MIDI_MA_VTABLES_OBJS += $(PATH_INTERNAL_TEMP)/soundfont.o
|
|
|
|
|
|
|
|
# Turn the soundfont into a linkable object
|
|
|
|
ifeq ($(OS),win)
|
|
|
|
# Fairly ugly, but we have to get the right relative path to objcopy on Windows
|
|
|
|
# to make the whole thing work out
|
|
|
|
$(PATH_INTERNAL_TEMP)/soundfont.o: $(PATH_INTERNAL_TEMP)/soundfont.sf2
|
|
|
|
cd $(call FIXPATH,$(PATH_INTERNAL_TEMP)) && ..\..\$(OBJCOPY) -Ibinary $(OBJCOPY_FLAGS) soundfont.sf2 soundfont.o
|
|
|
|
else
|
|
|
|
ifeq ($(OS),osx)
|
|
|
|
# Mac OS does not ship an objcopy implementation for some reason
|
|
|
|
# We're instead using xxd to produce a source file, and compiling it
|
|
|
|
$(PATH_INTERNAL_TEMP)/soundfont.c: $(PATH_INTERNAL_TEMP)/soundfont.sf2
|
|
|
|
cd $(call FIXPATH,$(PATH_INTERNAL_TEMP)) && xxd --include soundfont.sf2 > soundfont.c
|
|
|
|
|
|
|
|
$(PATH_INTERNAL_TEMP)/soundfont.o: $(PATH_INTERNAL_TEMP)/soundfont.c
|
|
|
|
$(CC) $< -c -o $@
|
|
|
|
|
|
|
|
else
|
|
|
|
# The "cd" is used to make the symbol name predictable and not dependent upon
|
|
|
|
# the "PATH_INTERNAL_TEMP" value
|
|
|
|
$(PATH_INTERNAL_TEMP)/soundfont.o: $(PATH_INTERNAL_TEMP)/soundfont.sf2
|
|
|
|
cd $(call FIXPATH,$(PATH_INTERNAL_TEMP)) && $(OBJCOPY) -Ibinary $(OBJCOPY_FLAGS) soundfont.sf2 soundfont.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
CLEAN_LIST += $(LIBXMP_LIB) $(LIBXMP_OBJS) $(MA_VTABLES_OBJS) $(MIDI_MA_VTABLES_OBJS) $(MIDI_MA_VTABLES_STUB_OBJS)
|
|
|
|
|