diff --git a/Makefile b/Makefile index d8f3d64..8d6744a 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,8 @@ # Created by falkTX # +include Makefile.mk + all: libs plugins gen # -------------------------------------------------------------- @@ -16,6 +18,9 @@ plugins: libs gen: plugins dpf/utils/lv2_ttl_generator @$(CURDIR)/dpf/utils/generate-ttl.sh +ifeq ($(MACOS),true) + @$(CURDIR)/dpf/utils/generate-vst-bundles.sh +endif dpf/utils/lv2_ttl_generator: $(MAKE) -C dpf/utils/lv2-ttl-generator diff --git a/Makefile.mk b/Makefile.mk index 48c1f67..443fba1 100644 --- a/Makefile.mk +++ b/Makefile.mk @@ -75,18 +75,26 @@ LINK_FLAGS = $(LINK_OPTS) $(LDFLAGS) endif # -------------------------------------------------------------- -# Check for required libs +# Check for optional libs ifeq ($(LINUX),true) -ifneq ($(shell pkg-config --exists jack && echo true),true) -$(error JACK missing, cannot continue) +HAVE_DGL = $(shell pkg-config --exists gl x11 && echo true) +HAVE_JACK = $(shell pkg-config --exists jack && echo true) endif -ifneq ($(shell pkg-config --exists gl && echo true),true) -$(error OpenGL missing, cannot continue) + +ifeq ($(MACOS),true) +HAVE_DGL = true endif -ifneq ($(shell pkg-config --exists x11 && echo true),true) -$(error X11 missing, cannot continue) + +ifeq ($(WIN32),true) +HAVE_DGL = true endif + +# -------------------------------------------------------------- +# Check for required libs + +ifneq ($(HAVE_DGL),true) +$(error OpenGL missing, cannot continue) endif ifneq ($(shell pkg-config --exists libprojectM && echo true),true) diff --git a/dpf b/dpf index 7169815..17befcd 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 7169815782a5d14447e16a1ac3adf3ab32d7d92b +Subproject commit 17befcdaa6d5e281aea22c5d83e3326f6ee9373c diff --git a/plugins/Makefile.mk b/plugins/Makefile.mk index 1bcd85a..faeb73e 100644 --- a/plugins/Makefile.mk +++ b/plugins/Makefile.mk @@ -16,6 +16,12 @@ TARGET_DIR = ../../bin BUILD_C_FLAGS += -I. BUILD_CXX_FLAGS += -I. -I../../dpf/distrho -I../../dpf/dgl +BASE_FLAGS += -DHAVE_DGL + +ifeq ($(HAVE_JACK),true) +BASE_FLAGS += -DHAVE_JACK +endif + # -------------------------------------------------------------- # Set plugin binary file targets @@ -28,12 +34,6 @@ lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp.$(EXT) lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui.$(EXT) vst = $(TARGET_DIR)/$(NAME)-vst.$(EXT) -ifeq ($(WIN32),true) -dssi_ui += .exe -endif - -# TODO: MacOS VST bundle - # -------------------------------------------------------------- # Set distrho code files @@ -90,11 +90,13 @@ $(ladspa_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) # -------------------------------------------------------------- # DSSI -dssi: $(dssi_dsp) $(dssi_ui) +dssi: $(dssi_dsp) $(dssi_ui) +dssi_dsp: $(dssi_dsp) +dssi_ui: $(dssi_ui) $(dssi_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) mkdir -p $(shell dirname $@) - $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(shell pkg-confi --cflagsg --libs libprojectM) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@ + $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(shell pkg-confi --cflags --libs libprojectM) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@ $(dssi_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) mkdir -p $(shell dirname $@) @@ -104,6 +106,7 @@ $(dssi_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) # LV2 lv2_one: $(lv2) +lv2_dsp: $(lv2_dsp) lv2_sep: $(lv2_dsp) $(lv2_ui) $(lv2): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) diff --git a/plugins/ProM/Makefile b/plugins/ProM/Makefile index 35b7365..776d28e 100644 --- a/plugins/ProM/Makefile +++ b/plugins/ProM/Makefile @@ -26,10 +26,12 @@ include ../Makefile.mk # -------------------------------------------------------------- # Enable all possible plugin types -ifeq ($(LINUX),true) -all: jack lv2_one vst -else -all: lv2_one vst +ifeq ($(HAVE_JACK),true) +TARGETS += jack endif +TARGETS += lv2_one +TARGETS += vst + +all: $(TARGETS) # --------------------------------------------------------------