DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 70e247179fab57ec16fcbfa0d50b3e829d906c0f
parent 5f2d86a47e8b7d1227be520700bdb69c75f8d237
Author: falkTX <falktx@gmail.com>
Date:   Tue, 25 Sep 2018 23:31:19 +0200

Adjust makefiles so they can be used externally

Diffstat:
MMakefile | 2+-
RMakefile.mk -> Makefile.base.mk | 0
AMakefile.plugins.mk | 206+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdgl/Makefile | 2+-
Mexamples/Info/Makefile | 2+-
Mexamples/Latency/Makefile | 2+-
Dexamples/Makefile.mk | 199-------------------------------------------------------------------------------
Mexamples/Meters/Makefile | 2+-
Mexamples/MidiThrough/Makefile | 2+-
Mexamples/Parameters/Makefile | 2+-
Mexamples/States/Makefile | 2+-
11 files changed, 214 insertions(+), 207 deletions(-)

diff --git a/Makefile b/Makefile @@ -4,7 +4,7 @@ # Created by falkTX # -include Makefile.mk +include Makefile.base.mk all: dgl examples gen diff --git a/Makefile.mk b/Makefile.base.mk diff --git a/Makefile.plugins.mk b/Makefile.plugins.mk @@ -0,0 +1,206 @@ +#!/usr/bin/make -f +# Makefile for DPF Example Plugins # +# -------------------------------- # +# Created by falkTX +# + +# NOTE: NAME, FILES_DSP and FILES_UI must have been defined before including this file! + + +ifeq (,$(wildcard ../../Makefile.base.mk)) +DPF_PATH=../../dpf +else +DPF_PATH=../.. +endif + +include $(DPF_PATH)/Makefile.base.mk + +ifeq ($(FILES_UI),) +HAVE_DGL = false +endif + +# --------------------------------------------------------------------------------------------------------------------- +# Basic setup + +TARGET_DIR = ../../bin +BUILD_DIR = ../../build/$(NAME) + +BUILD_C_FLAGS += -I. +BUILD_CXX_FLAGS += -I. -I$(DPF_PATH)/distrho -I$(DPF_PATH)/dgl + +ifeq ($(HAVE_DGL),true) +BASE_FLAGS += -DHAVE_DGL +endif + +ifeq ($(HAVE_JACK),true) +BASE_FLAGS += -DHAVE_JACK +endif + +ifeq ($(HAVE_LIBLO),true) +BASE_FLAGS += -DHAVE_LIBLO +endif + +# --------------------------------------------------------------------------------------------------------------------- +# Set files to build + +OBJS_DSP = $(FILES_DSP:%=$(BUILD_DIR)/%.o) +OBJS_UI = $(FILES_UI:%=$(BUILD_DIR)/%.o) + +# --------------------------------------------------------------------------------------------------------------------- +# Set plugin binary file targets + +jack = $(TARGET_DIR)/$(NAME)$(APP_EXT) +ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) +dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) +dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui$(APP_EXT) +lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT) +lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp$(LIB_EXT) +lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui$(LIB_EXT) +vst = $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT) + +# --------------------------------------------------------------------------------------------------------------------- +# Handle plugins without UI + +ifneq ($(HAVE_DGL),true) +dssi_ui = +lv2_ui = +DGL_LIBS = +OBJS_UI = +endif + +# --------------------------------------------------------------------------------------------------------------------- +# all needs to be first + +all: + +# --------------------------------------------------------------------------------------------------------------------- +# Common + +$(BUILD_DIR)/%.c.o: %.c + -@mkdir -p $(BUILD_DIR) + @echo "Compiling $<" + @$(CC) $< $(BUILD_C_FLAGS) -c -o $@ + +$(BUILD_DIR)/%.cpp.o: %.cpp + -@mkdir -p $(BUILD_DIR) + @echo "Compiling $<" + @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ + +clean: + rm -rf $(BUILD_DIR) + rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2 + +# --------------------------------------------------------------------------------------------------------------------- + +$(BUILD_DIR)/DistrhoPluginMain_%.cpp.o: $(DPF_PATH)/distrho/DistrhoPluginMain.cpp + -@mkdir -p $(BUILD_DIR) + @echo "Compiling DistrhoPluginMain.cpp ($*)" + @$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_$* -c -o $@ + +$(BUILD_DIR)/DistrhoUIMain_%.cpp.o: $(DPF_PATH)/distrho/DistrhoUIMain.cpp + -@mkdir -p $(BUILD_DIR) + @echo "Compiling DistrhoUIMain.cpp ($*)" + @$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_$* -c -o $@ + +$(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o: $(DPF_PATH)/distrho/DistrhoPluginMain.cpp + -@mkdir -p $(BUILD_DIR) + @echo "Compiling DistrhoPluginMain.cpp (JACK)" + @$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags jack) -DDISTRHO_PLUGIN_TARGET_JACK -c -o $@ + +$(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.o: $(DPF_PATH)/distrho/DistrhoUIMain.cpp + -@mkdir -p $(BUILD_DIR) + @echo "Compiling DistrhoUIMain.cpp (DSSI)" + @$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags liblo) -DDISTRHO_PLUGIN_TARGET_DSSI -c -o $@ + +# --------------------------------------------------------------------------------------------------------------------- +# JACK + +jack: $(jack) + +$(jack): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o $(BUILD_DIR)/DistrhoUIMain_JACK.cpp.o $(DPF_PATH)/build/libdgl.a + -@mkdir -p $(shell dirname $@) + @echo "Creating JACK standalone for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --libs jack) -o $@ + +# --------------------------------------------------------------------------------------------------------------------- +# LADSPA + +ladspa: $(ladspa_dsp) + +$(ladspa_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LADSPA.cpp.o + -@mkdir -p $(shell dirname $@) + @echo "Creating LADSPA plugin for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -o $@ + +# --------------------------------------------------------------------------------------------------------------------- +# DSSI + +dssi: $(dssi_dsp) $(dssi_ui) +dssi_dsp: $(dssi_dsp) +dssi_ui: $(dssi_ui) + +$(dssi_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_DSSI.cpp.o + -@mkdir -p $(shell dirname $@) + @echo "Creating DSSI plugin library for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -o $@ + +$(dssi_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.o $(DPF_PATH)/build/libdgl.a + -@mkdir -p $(shell dirname $@) + @echo "Creating DSSI UI for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --libs liblo) -o $@ + +# --------------------------------------------------------------------------------------------------------------------- +# LV2 + +lv2_one: $(lv2) +lv2_dsp: $(lv2_dsp) +lv2_sep: $(lv2_dsp) $(lv2_ui) + +$(lv2): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DPF_PATH)/build/libdgl.a + -@mkdir -p $(shell dirname $@) + @echo "Creating LV2 plugin for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -o $@ + +$(lv2_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o + -@mkdir -p $(shell dirname $@) + @echo "Creating LV2 plugin library for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -o $@ + +$(lv2_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DPF_PATH)/build/libdgl.a + -@mkdir -p $(shell dirname $@) + @echo "Creating LV2 plugin UI for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -o $@ + +# --------------------------------------------------------------------------------------------------------------------- +# VST + +vst: $(vst) + +ifeq ($(HAVE_DGL),true) +$(vst): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_VST.cpp.o $(BUILD_DIR)/DistrhoUIMain_VST.cpp.o $(DPF_PATH)/build/libdgl.a +else +$(vst): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_VST.cpp.o +endif + -@mkdir -p $(shell dirname $@) + @echo "Creating VST plugin for $(NAME)" + @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -o $@ + +# --------------------------------------------------------------------------------------------------------------------- + +-include $(OBJS_DSP:%.o=%.d) +ifeq ($(HAVE_DGL),true) +-include $(OBJS_UI:%.o=%.d) +endif + +-include $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.d +-include $(BUILD_DIR)/DistrhoPluginMain_LADSPA.cpp.d +-include $(BUILD_DIR)/DistrhoPluginMain_DSSI.cpp.d +-include $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.d +-include $(BUILD_DIR)/DistrhoPluginMain_VST.cpp.d + +-include $(BUILD_DIR)/DistrhoUIMain_JACK.cpp.d +-include $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.d +-include $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.d +-include $(BUILD_DIR)/DistrhoUIMain_VST.cpp.d + +# --------------------------------------------------------------------------------------------------------------------- diff --git a/dgl/Makefile b/dgl/Makefile @@ -4,7 +4,7 @@ # Created by falkTX # -include ../Makefile.mk +include ../Makefile.base.mk # --------------------------------------------------------------------------------------------------------------------- diff --git a/examples/Info/Makefile b/examples/Info/Makefile @@ -21,7 +21,7 @@ FILES_UI = \ # -------------------------------------------------------------- # Do some magic -include ../Makefile.mk +include ../../Makefile.plugins.mk # -------------------------------------------------------------- # Enable all possible plugin types diff --git a/examples/Latency/Makefile b/examples/Latency/Makefile @@ -18,7 +18,7 @@ FILES_DSP = \ # -------------------------------------------------------------- # Do some magic -include ../Makefile.mk +include ../../Makefile.plugins.mk # -------------------------------------------------------------- # Enable all possible plugin types diff --git a/examples/Makefile.mk b/examples/Makefile.mk @@ -1,199 +0,0 @@ -#!/usr/bin/make -f -# Makefile for DPF Example Plugins # -# -------------------------------- # -# Created by falkTX -# - -# NAME, FILES_DSP and FILES_UI have been defined before - -include ../../Makefile.mk - -ifeq ($(FILES_UI),) -HAVE_DGL = false -endif - -# --------------------------------------------------------------------------------------------------------------------- -# Basic setup - -TARGET_DIR = ../../bin -BUILD_DIR = ../../build/$(NAME) - -BUILD_C_FLAGS += -I. -BUILD_CXX_FLAGS += -I. -I../../distrho -I../../dgl - -ifeq ($(HAVE_DGL),true) -BASE_FLAGS += -DHAVE_DGL -endif - -ifeq ($(HAVE_JACK),true) -BASE_FLAGS += -DHAVE_JACK -endif - -ifeq ($(HAVE_LIBLO),true) -BASE_FLAGS += -DHAVE_LIBLO -endif - -# --------------------------------------------------------------------------------------------------------------------- -# Set files to build - -OBJS_DSP = $(FILES_DSP:%=$(BUILD_DIR)/%.o) -OBJS_UI = $(FILES_UI:%=$(BUILD_DIR)/%.o) - -# --------------------------------------------------------------------------------------------------------------------- -# Set plugin binary file targets - -jack = $(TARGET_DIR)/$(NAME)$(APP_EXT) -ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) -dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) -dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui$(APP_EXT) -lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT) -lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp$(LIB_EXT) -lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui$(LIB_EXT) -vst = $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT) - -# --------------------------------------------------------------------------------------------------------------------- -# Handle plugins without UI - -ifneq ($(HAVE_DGL),true) -dssi_ui = -lv2_ui = -DGL_LIBS = -OBJS_UI = -endif - -# --------------------------------------------------------------------------------------------------------------------- -# all needs to be first - -all: - -# --------------------------------------------------------------------------------------------------------------------- -# Common - -$(BUILD_DIR)/%.c.o: %.c - -@mkdir -p $(BUILD_DIR) - @echo "Compiling $<" - @$(CC) $< $(BUILD_C_FLAGS) -c -o $@ - -$(BUILD_DIR)/%.cpp.o: %.cpp - -@mkdir -p $(BUILD_DIR) - @echo "Compiling $<" - @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ - -clean: - rm -rf $(BUILD_DIR) - rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2 - -# --------------------------------------------------------------------------------------------------------------------- - -$(BUILD_DIR)/DistrhoPluginMain_%.cpp.o: ../../distrho/DistrhoPluginMain.cpp - -@mkdir -p $(BUILD_DIR) - @echo "Compiling DistrhoPluginMain.cpp ($*)" - @$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_$* -c -o $@ - -$(BUILD_DIR)/DistrhoUIMain_%.cpp.o: ../../distrho/DistrhoUIMain.cpp - -@mkdir -p $(BUILD_DIR) - @echo "Compiling DistrhoUIMain.cpp ($*)" - @$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_PLUGIN_TARGET_$* -c -o $@ - -$(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o: ../../distrho/DistrhoPluginMain.cpp - -@mkdir -p $(BUILD_DIR) - @echo "Compiling DistrhoPluginMain.cpp (JACK)" - @$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags jack) -DDISTRHO_PLUGIN_TARGET_JACK -c -o $@ - -$(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.o: ../../distrho/DistrhoUIMain.cpp - -@mkdir -p $(BUILD_DIR) - @echo "Compiling DistrhoUIMain.cpp (DSSI)" - @$(CXX) $< $(BUILD_CXX_FLAGS) $(shell pkg-config --cflags liblo) -DDISTRHO_PLUGIN_TARGET_DSSI -c -o $@ - -# --------------------------------------------------------------------------------------------------------------------- -# JACK - -jack: $(jack) - -$(jack): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.o $(BUILD_DIR)/DistrhoUIMain_JACK.cpp.o ../../build/libdgl.a - -@mkdir -p $(shell dirname $@) - @echo "Creating JACK standalone for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --libs jack) -o $@ - -# --------------------------------------------------------------------------------------------------------------------- -# LADSPA - -ladspa: $(ladspa_dsp) - -$(ladspa_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LADSPA.cpp.o - -@mkdir -p $(shell dirname $@) - @echo "Creating LADSPA plugin for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -o $@ - -# --------------------------------------------------------------------------------------------------------------------- -# DSSI - -dssi: $(dssi_dsp) $(dssi_ui) -dssi_dsp: $(dssi_dsp) -dssi_ui: $(dssi_ui) - -$(dssi_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_DSSI.cpp.o - -@mkdir -p $(shell dirname $@) - @echo "Creating DSSI plugin library for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -o $@ - -$(dssi_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.o ../../build/libdgl.a - -@mkdir -p $(shell dirname $@) - @echo "Creating DSSI UI for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --libs liblo) -o $@ - -# --------------------------------------------------------------------------------------------------------------------- -# LV2 - -lv2_one: $(lv2) -lv2_dsp: $(lv2_dsp) -lv2_sep: $(lv2_dsp) $(lv2_ui) - -$(lv2): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o ../../build/libdgl.a - -@mkdir -p $(shell dirname $@) - @echo "Creating LV2 plugin for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -o $@ - -$(lv2_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o - -@mkdir -p $(shell dirname $@) - @echo "Creating LV2 plugin library for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) -o $@ - -$(lv2_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o ../../build/libdgl.a - -@mkdir -p $(shell dirname $@) - @echo "Creating LV2 plugin UI for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -o $@ - -# --------------------------------------------------------------------------------------------------------------------- -# VST - -vst: $(vst) - -ifeq ($(HAVE_DGL),true) -$(vst): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_VST.cpp.o $(BUILD_DIR)/DistrhoUIMain_VST.cpp.o ../../build/libdgl.a -else -$(vst): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_VST.cpp.o -endif - -@mkdir -p $(shell dirname $@) - @echo "Creating VST plugin for $(NAME)" - @$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -o $@ - -# --------------------------------------------------------------------------------------------------------------------- - --include $(OBJS_DSP:%.o=%.d) -ifeq ($(HAVE_DGL),true) --include $(OBJS_UI:%.o=%.d) -endif - --include $(BUILD_DIR)/DistrhoPluginMain_JACK.cpp.d --include $(BUILD_DIR)/DistrhoPluginMain_LADSPA.cpp.d --include $(BUILD_DIR)/DistrhoPluginMain_DSSI.cpp.d --include $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.d --include $(BUILD_DIR)/DistrhoPluginMain_VST.cpp.d - --include $(BUILD_DIR)/DistrhoUIMain_JACK.cpp.d --include $(BUILD_DIR)/DistrhoUIMain_DSSI.cpp.d --include $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.d --include $(BUILD_DIR)/DistrhoUIMain_VST.cpp.d - -# --------------------------------------------------------------------------------------------------------------------- diff --git a/examples/Meters/Makefile b/examples/Meters/Makefile @@ -21,7 +21,7 @@ FILES_UI = \ # -------------------------------------------------------------- # Do some magic -include ../Makefile.mk +include ../../Makefile.plugins.mk # -------------------------------------------------------------- # Enable all possible plugin types diff --git a/examples/MidiThrough/Makefile b/examples/MidiThrough/Makefile @@ -18,7 +18,7 @@ FILES_DSP = \ # -------------------------------------------------------------- # Do some magic -include ../Makefile.mk +include ../../Makefile.plugins.mk # -------------------------------------------------------------- # Enable all possible plugin types diff --git a/examples/Parameters/Makefile b/examples/Parameters/Makefile @@ -21,7 +21,7 @@ FILES_UI = \ # -------------------------------------------------------------- # Do some magic -include ../Makefile.mk +include ../../Makefile.plugins.mk # -------------------------------------------------------------- # Enable all possible plugin types diff --git a/examples/States/Makefile b/examples/States/Makefile @@ -21,7 +21,7 @@ FILES_UI = \ # -------------------------------------------------------------- # Do some magic -include ../Makefile.mk +include ../../Makefile.plugins.mk # -------------------------------------------------------------- # Enable all possible plugin types