1#!/usr/bin/make -f 2# Makefile for carla-backend # 3# -------------------------- # 4# Created by falkTX 5# 6 7CWD=.. 8include Makefile.mk 9 10# --------------------------------------------------------------------------------------------------------------------- 11 12OBJS_standalone = \ 13 $(OBJDIR)/CarlaStandalone.cpp.o \ 14 $(OBJDIR)/CarlaStandaloneNSM.cpp.o 15 16ifneq ($(STATIC_PLUGIN_TARGET),true) 17TARGETS = \ 18 $(BINDIR)/libcarla_standalone2$(LIB_EXT) 19endif 20 21# --------------------------------------------------------------------------------------------------------------------- 22 23BUILD_CXX_FLAGS += $(FLUIDSYNTH_FLAGS) 24 25# --------------------------------------------------------------------------------------------------------------------- 26 27STANDALONE_LIBS = $(MODULEDIR)/carla_engine.a 28STANDALONE_LIBS += $(MODULEDIR)/carla_plugin.a 29STANDALONE_LIBS += $(MODULEDIR)/jackbridge.a 30 31STANDALONE_LIBS += $(MODULEDIR)/audio_decoder.a 32STANDALONE_LIBS += $(MODULEDIR)/lilv.a 33STANDALONE_LIBS += $(MODULEDIR)/native-plugins.a 34STANDALONE_LIBS += $(MODULEDIR)/rtmempool.a 35STANDALONE_LIBS += $(MODULEDIR)/sfzero.a 36STANDALONE_LIBS += $(MODULEDIR)/water.a 37STANDALONE_LIBS += $(MODULEDIR)/zita-resampler.a 38 39ifeq ($(HAVE_DGL),true) 40STANDALONE_LIBS += $(MODULEDIR)/dgl.a 41endif 42 43ifeq ($(HAVE_HYLIA),true) 44STANDALONE_LIBS += $(MODULEDIR)/hylia.a 45endif 46 47ifeq ($(USING_JUCE),true) 48STANDALONE_LIBS += $(MODULEDIR)/juce_audio_basics.a 49ifeq ($(USING_JUCE_AUDIO_DEVICES),true) 50STANDALONE_LIBS += $(MODULEDIR)/juce_audio_devices.a 51endif 52STANDALONE_LIBS += $(MODULEDIR)/juce_audio_processors.a 53STANDALONE_LIBS += $(MODULEDIR)/juce_core.a 54STANDALONE_LIBS += $(MODULEDIR)/juce_data_structures.a 55STANDALONE_LIBS += $(MODULEDIR)/juce_events.a 56STANDALONE_LIBS += $(MODULEDIR)/juce_graphics.a 57STANDALONE_LIBS += $(MODULEDIR)/juce_gui_basics.a 58ifeq ($(USING_JUCE_GUI_EXTRA),true) 59STANDALONE_LIBS += $(MODULEDIR)/juce_gui_extra.a 60endif 61endif 62 63ifeq ($(USING_RTAUDIO),true) 64STANDALONE_LIBS += $(MODULEDIR)/rtaudio.a 65STANDALONE_LIBS += $(MODULEDIR)/rtmidi.a 66endif 67 68# --------------------------------------------------------------------------------------------------------------------- 69 70STANDALONE_LINK_FLAGS = $(HYLIA_LIBS) 71STANDALONE_LINK_FLAGS += $(JACKBRIDGE_LIBS) 72STANDALONE_LINK_FLAGS += $(LILV_LIBS) 73STANDALONE_LINK_FLAGS += $(NATIVE_PLUGINS_LIBS) 74STANDALONE_LINK_FLAGS += $(RTMEMPOOL_LIBS) 75STANDALONE_LINK_FLAGS += $(WATER_LIBS) 76 77STANDALONE_LINK_FLAGS += $(LIBLO_LIBS) 78STANDALONE_LINK_FLAGS += $(MAGIC_LIBS) 79STANDALONE_LINK_FLAGS += $(FLUIDSYNTH_LIBS) 80STANDALONE_LINK_FLAGS += $(X11_LIBS) 81 82ifeq ($(USING_JUCE),true) 83STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_BASICS_LIBS) 84ifeq ($(USING_JUCE_AUDIO_DEVICES),true) 85STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_DEVICES_LIBS) 86endif 87STANDALONE_LINK_FLAGS += $(JUCE_AUDIO_PROCESSORS_LIBS) 88STANDALONE_LINK_FLAGS += $(JUCE_CORE_LIBS) 89STANDALONE_LINK_FLAGS += $(JUCE_DATA_STRUCTURES_LIBS) 90STANDALONE_LINK_FLAGS += $(JUCE_EVENTS_LIBS) 91STANDALONE_LINK_FLAGS += $(JUCE_GRAPHICS_LIBS) 92STANDALONE_LINK_FLAGS += $(JUCE_GUI_BASICS_LIBS) 93ifeq ($(USING_JUCE_GUI_EXTRA),true) 94STANDALONE_LINK_FLAGS += $(JUCE_GUI_EXTRA_LIBS) 95endif 96endif 97 98ifeq ($(USING_RTAUDIO),true) 99STANDALONE_LINK_FLAGS += $(RTAUDIO_LIBS) 100STANDALONE_LINK_FLAGS += $(RTMIDI_LIBS) 101endif 102 103ifeq ($(JACKBRIDGE_DIRECT),true) 104STANDALONE_LINK_FLAGS += $(JACK_LIBS) 105endif 106 107# --------------------------------------------------------------------------------------------------------------------- 108 109all: $(TARGETS) 110 $(MAKE) -C utils 111 112# --------------------------------------------------------------------------------------------------------------------- 113 114clean: 115 rm -f $(OBJS_standalone) $(TARGETS) 116 $(MAKE) clean -C engine 117 $(MAKE) clean -C plugin 118 $(MAKE) clean -C utils 119 120debug: 121 $(MAKE) DEBUG=true 122 123doxygen: CarlaBackend.doxygen 124 doxygen $^ 125 126# --------------------------------------------------------------------------------------------------------------------- 127 128$(BINDIR)/libcarla_standalone2$(LIB_EXT): $(OBJS_standalone) $(STANDALONE_LIBS) 129 -@mkdir -p $(BINDIR) 130 @echo "Linking libcarla_standalone2$(LIB_EXT)" 131 @$(CXX) $(OBJS_standalone) $(LIBS_START) $(STANDALONE_LIBS) $(LIBS_END) $(LINK_FLAGS) $(STANDALONE_LINK_FLAGS) $(SHARED) -o $@ 132 133# --------------------------------------------------------------------------------------------------------------------- 134 135ifeq ($(MACOS),true) 136$(OBJDIR)/CarlaStandalone.cpp.o: CarlaStandalone.cpp 137 -@mkdir -p $(OBJDIR) 138 @echo "Compiling $<" 139 @$(CXX) $< $(BUILD_CXX_FLAGS) -ObjC++ -c -o $@ 140endif 141 142$(OBJDIR)/%.cpp.o: %.cpp 143 -@mkdir -p $(OBJDIR) 144 @echo "Compiling $<" 145 @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ 146 147-include $(OBJS_standalone:%.o=%.d) 148 149# --------------------------------------------------------------------------------------------------------------------- 150