Files
2026-08-24 10:03:24 +08:00

125 lines
5.4 KiB
Makefile

include src/Virtualsurround/musicbundle/musicbundle.mk
INI-OBJS=src/utils/ini/ini.o src/utils/ini/IniParser.o
TINYMIX-OBJS=src/utils/tinyxml2/tinyxml2.o
AUDIOFADE-OBJS=src/utils/audiofade/AudioFade.o
AUDIOEFFECTDEBUG_OBJS = src/utils/debug/audio_effect_debug.o
EFFECTFAAROTY_OBJS= src/EffectsFactory/config_utils.o src/EffectsFactory/load_file.o \
src/EffectsFactory/EffectsConfigLoader.o src/EffectsFactory/EffectsFactory.o \
src/EffectsFactory/EffectsFactoryState.o src/EffectsFactory/EffectsConfig.o src/EffectsFactory/EffectsXmlConfigLoader.o
LIBBALANCE_OBJS=src/Balance/Balance.o
LIBTREBLEBASSWRAPPER_OBJS=src/TrebleBass/TrebleBass.o
LIBHPEQWRAPPER=src/Hpeq/Hpeq.o
LIBAVL_OBJS=src/AVL/Avl.o
LIBVIRTUALSURROUND_OBJS=src/Virtualsurround/Virtualsurround.o
LIBVIRTUALX_OBJS=src/VirtualX/Virtualx.o
LIBVIRTUALX4_OBJS=src/VirtualX/Virtualx_v4.o
LIBDPE_OBJS=src/DPE/EffectDynamicsProcessing.o
LIBDPEBASE_OBJS=src/DPE/dsp/DPBase.o
LIBDPFrequency_OBJS=src/DPE/dsp/DPFrequency.o
LIBDBX2_OBJS = src/DBX/dbx2.o
ifeq ($(findstring aarch64,$(CC)), aarch64)
HPEQ_LINK_FLAGS = src/Hpeq/libAmlHpeq_64.a
TREBLEBASS_LINK_FLAGS = src/TrebleBass/libAmlTrebleBass64.a
else
HPEQ_LINK_FLAGS = src/Hpeq/libAmlHpeq.a
TREBLEBASS_LINK_FLAGS = src/TrebleBass/libAmlTrebleBass.a
endif
CFLAGS+=-fPIC -O2 -I./include -I. -I./src \
-I./src/utils/ini/include \
-I./src/utils/tinyxml2/include \
-I./src/utils/audiofade/ \
-I./src/EffectsFactory/ \
-I./src/utils/debug/
CXXFLAGS+=-std=c++14
LDFLAGS += -llog -lpthread -lstdc++ -ldl -lrt -lm
%.o: %.cpp
$(CXX) -c $(CFLAGS) $(CXXFLAGS) -o $@ $<
%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $<
all: libeffectfactory.so libbalance.so libtreblebasswrapper.so libhpeqwrapper.so libavl.so libvirtualsurround.so libvirtualx.so libvirtualx4.so libdpe.so libdbx.so
libeffectfactory.so: $(EFFECTFAAROTY_OBJS) $(TINYMIX-OBJS) $(INI-OBJS)
$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
libbalance.so: $(LIBBALANCE_OBJS) $(INI-OBJS) $(AUDIOEFFECTDEBUG_OBJS)
$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
libtreblebasswrapper.so: $(LIBTREBLEBASSWRAPPER_OBJS) $(TREBLEBASS_LINK_FLAGS) $(INI-OBJS) $(AUDIOEFFECTDEBUG_OBJS)
$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) -Wl,--no-undefined
libhpeqwrapper.so: $(LIBHPEQWRAPPER) $(HPEQ_LINK_FLAGS) $(INI-OBJS) $(AUDIOFADE-OBJS) $(AUDIOEFFECTDEBUG_OBJS)
$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) -Wl,--no-undefined
libavl.so: $(LIBAVL_OBJS) $(INI-OBJS)
$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
libvirtualsurround.so: $(LIBVIRTUALSURROUND_OBJS) $(MUSICBUNDLE-OBJS) $(INI-OBJS)
$(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
libvirtualx.so: $(LIBVIRTUALX_OBJS) $(INI-OBJS) $(AUDIOFADE-OBJS)
$(CXX) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
libvirtualx4.so: $(LIBVIRTUALX4_OBJS) $(INI-OBJS) $(AUDIOFADE-OBJS) $(AUDIOEFFECTDEBUG_OBJS)
$(CXX) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
libdpe.so: $(LIBDPE_OBJS) $(INI-OBJS) $(LIBDPEBASE_OBJS) $(LIBDPFrequency_OBJS) $(AUDIOEFFECTDEBUG_OBJS)
$(CC) $(CFLAGS) -g -shared -o $@ $^ $(LDFLAGS)
libdbx.so: $(LIBDBX2_OBJS) $(INI-OBJS)
$(CXX) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS)
.PHONY: install
install:
install -m 644 -D libeffectfactory.so -t $(TARGET_DIR)/usr/lib/
install -m 644 -D libeffectfactory.so -t $(STAGING_DIR)/usr/lib/
install -m 644 -D libbalance.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libbalance.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libtreblebasswrapper.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libtreblebasswrapper.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libhpeqwrapper.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libhpeqwrapper.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libavl.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libavl.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libvirtualsurround.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libvirtualsurround.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libvirtualx.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libvirtualx.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libvirtualx4.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libvirtualx4.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libdpe.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libdpe.so -t $(STAGING_DIR)/usr/lib/soundfx/
install -m 644 -D libdbx.so -t $(TARGET_DIR)/usr/lib/soundfx/
install -m 644 -D libdbx.so -t $(STAGING_DIR)/usr/lib/soundfx/
.PHONY: clean
clean:
rm -f $(TARGET_DIR)/usr/lib/libeffectfactory.so
rm -f $(STAGING_DIR)/usr/lib/libeffectfactory.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libbalance.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libbalance.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libtreblebasswrapper.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libtreblebasswrapper.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libhpeqwrapper.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libhpeqwrapper.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libavl.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libavl.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libvirtualsurround.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libvirtualsurround.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libvirtualx.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libvirtualx.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libvirtualx4.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libvirtualx4.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libdpe.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libdpe.so
rm -f $(TARGET_DIR)/usr/lib/soundfx/libdbx.so
rm -f $(STAGING_DIR)/usr/lib/soundfx/libdbx.so