#!/usr/bin/make -f # Makefile for carla-backend # # ------------------------------------- # # Created by falkTX # CC ?= gcc CXX ?= g++ HAVE_ALSA = $(shell pkg-config --exists alsa && echo true) HAVE_JACK = $(shell pkg-config --exists jack && echo true) HAVE_PULSEAUDIO = $(shell pkg-config --exists libpulse-simple && echo true) HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) HAVE_LINUXSAMPLER = $(shell pkg-config --exists linuxsampler && echo true) HAVE_SUIL = $(shell pkg-config --exists suil-0 && echo true) BASE_FLAGS = -O2 -ffast-math -fomit-frame-pointer -fPIC -mtune=generic -msse -mfpmath=sse -Wall -I. -I../carla-includes CARLA_C_FLAGS = $(BASE_FLAGS) $(CFLAGS) CARLA_CXX_FLAGS = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS) CARLA_CXX_FLAGS += $(shell pkg-config --cflags liblo QtCore QtGui) CARLA_CXX_FLAGS += -DNDEBUG -DQT_NO_DEBUG -DQT_NO_DEBUG_STREAM -DQT_NO_DEBUG_OUTPUT CARLA_CXX_FLAGS += -DVESTIGE_HEADER # Comment this line to not use vestige header CARLA_LD_FLAGS = -shared -ldl -lm -fPIC $(LDFLAGS) CARLA_LD_FLAGS += $(shell pkg-config --libs liblo QtCore QtGui) ifeq ($(HAVE_ALSA),true) WANT_RTAUDIO = true CARLA_CXX_FLAGS += $(shell pkg-config --cflags alsa) -D__LINUX_ALSA__ -D__LINUX_ALSASEQ__ CARLA_LD_FLAGS += $(shell pkg-config --libs alsa) endif ifeq ($(HAVE_JACK),true) CARLA_CXX_FLAGS += $(shell pkg-config --cflags jack) -DCARLA_ENGINE_JACK CARLA_LD_FLAGS += $(shell pkg-config --libs jack) endif ifeq ($(HAVE_PULSEAUDIO),true) WANT_RTAUDIO = true CARLA_CXX_FLAGS += $(shell pkg-config --cflags libpulse-simple) -D__LINUX_PULSE__ CARLA_LD_FLAGS += $(shell pkg-config --libs libpulse-simple) endif ifeq ($(HAVE_FLUIDSYNTH),true) CARLA_CXX_FLAGS += $(shell pkg-config --cflags fluidsynth) -DWANT_FLUIDSYNTH CARLA_LD_FLAGS += $(shell pkg-config --libs fluidsynth) endif ifeq ($(HAVE_LINUXSAMPLER),true) CARLA_CXX_FLAGS += $(shell pkg-config --cflags linuxsampler) -DWANT_LINUXSAMPLER CARLA_LD_FLAGS += $(shell pkg-config --libs linuxsampler) endif ifeq ($(HAVE_SUIL),true) CARLA_CXX_FLAGS += $(shell pkg-config --cflags suil-0) -DHAVE_SUIL CARLA_LD_FLAGS += $(shell pkg-config --libs suil-0) endif OBJS = \ carla_backend_standalone.o \ carla_bridge.o \ carla_engine.o \ carla_engine_jack.o \ carla_engine_rtaudio.o \ carla_osc.o \ carla_shared.o \ carla_threads.o \ ladspa.o dssi.o lv2.o vst.o fluidsynth.o linuxsampler.o \ lv2-rtmempool/rtmempool.o \ ../carla-lilv/carla_lilv.a ifeq ($(WANT_RTAUDIO),true) CARLA_CXX_FLAGS += -Irtaudio-4.0.11 -Irtmidi-2.0.0 -DCARLA_ENGINE_RTAUDIO -D_FORTIFY_SOURCE=2 -DHAVE_GETTIMEOFDAY OBJS += rtaudio-4.0.11/RtAudio.o OBJS += rtmidi-2.0.0/RtMidi.o endif # -------------------------------------------------------------- all: carla_backend.so doc: carla_backend.doxygen doxygen $< carla_backend.so: $(OBJS) $(CXX) $^ $(CARLA_LD_FLAGS) -o $@ && strip $@ # -------------------------------------------------------------- .c.o: $(CC) -c $< $(CARLA_C_FLAGS) -o $@ .cpp.o: $(CXX) -c $< $(CARLA_CXX_FLAGS) -o $@ ../carla-lilv/carla_lilv.a: $(MAKE) -C ../carla-lilv clean: rm -f *.o lv2-rtmempool/*.o rtaudio-4.0.11/*.o rtmidi-2.0.0/*.o *.so *.dll