|  | #!/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        = -O0 -g -fPIC -Wall -I. -I../carla-includes -I../carla-jackbridge
CARLA_C_FLAGS     = $(BASE_FLAGS) -std=c99 $(CFLAGS)
CARLA_CXX_FLAGS   = $(BASE_FLAGS) -std=c++0x $(CXXFLAGS)
CARLA_CXX_FLAGS  += $(shell pkg-config --cflags liblo QtCore QtGui)
CARLA_CXX_FLAGS  += -DDEBUG
CARLA_CXX_FLAGS  += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST
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 \
	../carla-jackbridge/carla_jackbridge.o \
	../carla-lilv/carla_lilv.a \
	../carla-rtmempool/carla_rtmempool.a
ifeq ($(WANT_RTAUDIO),true)
CARLA_CXX_FLAGS += -Irtaudio-4.0.11 -Irtmidi-2.0.0 -DCARLA_ENGINE_RTAUDIO -DHAVE_GETTIMEOFDAY -D__RTAUDIO_DEBUG__ -D__RTMIDI_DEBUG__
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 $@
# --------------------------------------------------------------
.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
../carla-rtmempool/carla_rtmempool.a:
	$(MAKE) -C ../carla-rtmempool
clean:
	rm -f $(OBJS) *.a *.so *.dll
 |