|
- #!/usr/bin/make -f
- # Makefile for carla plugin exports #
- # --------------------------------- #
- # Created by falkTX
- #
-
- include ../Makefile.mk
-
- BUILD_CXX_FLAGS += -I../backend -I../includes -I../modules -I../utils
-
- ifeq ($(HAVE_QT4),true)
- BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore QtGui)
- else
- BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)
- endif
-
- # --------------------------------------------------------------
-
- ifeq ($(HAVE_OPENGL),true)
- BUILD_CXX_FLAGS += -DWANT_OPENGL
- endif
-
- ifeq ($(HAVE_AF_DEPS),true)
- BUILD_CXX_FLAGS += -DWANT_AUDIOFILE
- endif
-
- ifeq ($(HAVE_MF_DEPS),true)
- BUILD_CXX_FLAGS += -DWANT_MIDIFILE
- endif
-
- ifeq ($(HAVE_ZYN_DEPS),true)
- BUILD_CXX_FLAGS += -DWANT_ZYNADDSUBFX
- endif
-
- # --------------------------------------------------------------
- # Common
-
- LINK_FLAGS += $(shell pkg-config --libs liblo)
-
- ifeq ($(HAVE_QT4),true)
- LINK_FLAGS += $(shell pkg-config --libs QtCore QtGui QtXml)
- else
- LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Widgets)
- endif
-
- # --------------------------------------------------------------
- # Plugin
-
- ifeq ($(HAVE_FLUIDSYNTH),true)
- LINK_FLAGS += $(shell pkg-config --libs fluidsynth)
- endif
-
- ifeq ($(HAVE_LINUXSAMPLER),true)
- LINK_FLAGS += $(shell pkg-config --libs linuxsampler)
- endif
-
- # --------------------------------------------------------------
- # Native
-
- DGL_LIBS = -lX11
-
- ifeq ($(HAVE_AF_DEPS),true)
- LINK_FLAGS += $(shell pkg-config --libs sndfile)
- ifeq ($(HAVE_FFMPEG),true)
- LINK_FLAGS += $(shell pkg-config --libs libavcodec libavformat libavutil)
- endif
- endif
-
- ifeq ($(HAVE_MF_DEPS),true)
- LINK_FLAGS += $(shell pkg-config --libs smf)
- endif
-
- ifeq ($(HAVE_OPENGL),true)
- LINK_FLAGS += $(shell pkg-config --libs gl) $(DGL_LIBS)
- endif
-
- ifeq ($(HAVE_ZYN_DEPS),true)
- LINK_FLAGS += $(shell pkg-config --libs fftw3 mxml zlib)
- ifeq ($(HAVE_ZYN_UI_DEPS),true)
- LINK_FLAGS += $(shell pkg-config --libs ntk ntk_images)
- endif
- endif
-
- LINK_FLAGS += $(EXTRA_LIBS)
-
- # --------------------------------------------------------------
-
- # LIBS = ../backend/libcarla_engine_xx.a
- # LIBS += ../backend/libcarla_plugin.a
- LIBS += ../backend/libcarla_native.a
- LIBS += ../modules/rtmempool.a
- LIBS += ../modules/widgets.a
- LIBS += ../modules/juce_core.a
-
- ifeq ($(CARLA_PLUGIN_SUPPORT),true)
- LIBS += ../modules/lilv.a
- endif
-
- ifeq ($(HAVE_OPENGL),true)
- LIBS += ../modules/dgl.a
- endif
-
- ifeq ($(WIN32),true)
- TARGETS = carla-native.lv2/carla-native.dll
- TARGETS += carla-native-export.exe
- else
- ifeq ($(MACOS),true)
- TARGETS = carla-native.lv2/carla-native.dylib
- else
- TARGETS = carla-native.lv2/carla-native.so
- endif
- TARGETS += carla-native-export
- endif
-
- # --------------------------------------------------------------
-
- all: $(TARGETS)
-
- clean:
- rm -f *.o
- rm -f carla-native.lv2/*.*
-
- debug:
- $(MAKE) DEBUG=true
-
- # --------------------------------------------------------------
-
- %.cpp.o: %.cpp ../backend/CarlaNative.h
- $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
-
- carla-native.lv2/carla-native.dll: carla-native-plugin.cpp.o $(LIBS)
- $(CXX) $^ -shared $(LINK_FLAGS) -o $@
-
- carla-native.lv2/carla-native.dylib: carla-native-plugin.cpp.o $(LIBS)
- $(CXX) $^ -dynamiclib $(LINK_FLAGS) -o $@
-
- carla-native.lv2/carla-native.so: carla-native-plugin.cpp.o $(LIBS)
- $(CXX) $^ -shared $(LINK_FLAGS) -o $@
-
- carla-native-export: carla-native-export.cpp.o $(LIBS)
- $(CXX) $^ $(LINK_FLAGS) -o $@
- ./carla-native-export
-
- carla-native-export.exe: carla-native-export.cpp.o $(LIBS)
- $(CXX) $^ $(LINK_FLAGS) -o $@
- ./carla-native-export.exe
-
- # --------------------------------------------------------------
-
- .FORCE:
- .PHONY: .FORCE
-
- ../backend/libcarla_%.a: .FORCE
- $(MAKE) -C ../backend/$*
-
- ../modules/%.a: .FORCE
- $(MAKE) -C ../modules $*
|