Simplify resource install rules

Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
falkTX 2022-02-08 01:21:34 +00:00
parent 70cfff0e5b
commit f330b71810
No known key found for this signature in database
GPG key ID: CDBAA37ABC74FBA0
2 changed files with 119 additions and 61 deletions

View file

@ -854,52 +854,121 @@ RESOURCE_FILES += MindMeldModular/res/ShapeMaster/CommunityShapes
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldPresets RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldPresets
RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes RESOURCE_FILES += MindMeldModular/res/ShapeMaster/MindMeldShapes
PLUGIN_RESOURCES = PLUGIN_RESOURCES = $(PLUGIN_LIST:%=../bin/Cardinal.lv2/resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.lv2/resources/PluginManifests/%.json) PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.lv2/resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.lv2/resources/%) PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalSynth.lv2/resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/Cardinal.vst3/Contents/Resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.vst3/Contents/Resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalSynth.vst3/Contents/Resources/PluginManifests/%.json)
ifeq ($(MACOS),true) ifeq ($(MACOS),true)
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.vst/Contents/Resources/PluginManifests/%.json) PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.vst/Contents/Resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.vst/Contents/Resources/%) PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalSynth.vst/Contents/Resources/PluginManifests/%.json)
else else
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.vst/resources/PluginManifests/%.json) PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.vst/resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.vst/resources/%) PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalSynth.vst/resources/PluginManifests/%.json)
endif endif
PLUGIN_RESOURCES += $(PLUGIN_LIST:%=../bin/CardinalFX.vst3/Contents/Resources/PluginManifests/%.json)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/Cardinal.lv2/resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.lv2/resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalSynth.lv2/resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/Cardinal.vst3/Contents/Resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.vst3/Contents/Resources/%) PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.vst3/Contents/Resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalSynth.vst3/Contents/Resources/%)
ifeq ($(MACOS),true)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.vst/Contents/Resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalSynth.vst/Contents/Resources/%)
else
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalFX.vst/resources/%)
PLUGIN_RESOURCES += $(RESOURCE_FILES:%=../bin/CardinalSynth.vst/resources/%)
endif
resources: $(PLUGIN_RESOURCES) resources: $(PLUGIN_RESOURCES)
../bin/Cardinal.lv2/resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.lv2/resources/%: % ../bin/CardinalFX.lv2/resources/%: %
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst/resources/%: % ../bin/CardinalSynth.lv2/resources/%: %
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst/Contents/Resources/%: % ../bin/Cardinal.lv2/resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst3/Contents/Resources/%: %
-@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@
../bin/CardinalFX.lv2/resources/PluginManifests/%.json: %/plugin.json ../bin/CardinalFX.lv2/resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst/resources/PluginManifests/%.json: %/plugin.json ../bin/CardinalSynth.lv2/resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst/Contents/Resources/PluginManifests/%.json: %/plugin.json ../bin/Cardinal.vst3/Contents/Resources/%: %
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst3/Contents/Resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalSynth.vst3/Contents/Resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/Cardinal.vst3/Contents/Resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst3/Contents/Resources/PluginManifests/%.json: %/plugin.json ../bin/CardinalFX.vst3/Contents/Resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalSynth.vst3/Contents/Resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
ifeq ($(MACOS),true)
../bin/CardinalFX.vst/Contents/Resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalSynth.vst/Contents/Resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst/Contents/Resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalSynth.vst/Contents/Resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
else
../bin/CardinalFX.vst/resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalSynth.vst/resources/%: %
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalFX.vst/resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
../bin/CardinalSynth.vst/resources/PluginManifests/%.json: %/plugin.json
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
endif
# -------------------------------------------------------------- # --------------------------------------------------------------
# Build commands # Build commands

View file

@ -6,6 +6,14 @@
# Must have NAME defined # Must have NAME defined
ifeq ($(NAME),Cardinal)
CARDINAL_VARIANT = main
else ifeq ($(NAME),CardinalFX)
CARDINAL_VARIANT = fx
else ifeq ($(NAME),CardinalSynth)
CARDINAL_VARIANT = synth
endif
# -------------------------------------------------------------- # --------------------------------------------------------------
# Carla stuff # Carla stuff
@ -221,87 +229,68 @@ endif
# -------------------------------------------------------------- # --------------------------------------------------------------
# fallback path to resource files # fallback path to resource files
ifneq ($(SYSDEPS),true)
ifeq ($(EXE_WRAPPER),wine) ifeq ($(EXE_WRAPPER),wine)
SOURCE_DIR = Z:$(subst /,\\,$(abspath $(CURDIR)/..)) SOURCE_DIR = Z:$(subst /,\\,$(abspath $(CURDIR)/..))
else else
SOURCE_DIR = $(abspath $(CURDIR)/..) SOURCE_DIR = $(abspath $(CURDIR)/..)
endif endif
ifneq ($(SYSDEPS),true)
BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_SOURCE_DIR='"$(SOURCE_DIR)"' BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_SOURCE_DIR='"$(SOURCE_DIR)"'
endif endif
# --------------------------------------------------------------
# install path prefix for resource files
BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"' BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"'
# -------------------------------------------------------------- # --------------------------------------------------------------
# Enable all possible plugin types and setup resources # Enable all possible plugin types and setup resources
ifeq ($(NAME),CardinalFX) ifeq ($(CARDINAL_VARIANT),main)
all: lv2 vst2 vst3 resources
CORE_RESOURCES = $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf)) template.vcv
PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/CardinalFX.lv2/resources/%)
ifeq ($(MACOS),true)
PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/CardinalFX.vst/Contents/Resources/%)
else
PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/CardinalFX.vst/resources/%)
endif
PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/CardinalFX.vst3/Contents/Resources/%)
else # CardinalFX
ifeq ($(NAME),Cardinal)
all: jack lv2 vst3 resources all: jack lv2 vst3 resources
else else
all: lv2 vst2 vst3 resources all: lv2 vst2 vst3 resources
endif endif
PLUGIN_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/resources CORE_RESOURCES = $(subst ../Rack/res/,,$(wildcard ../Rack/res/ComponentLibrary/*.svg ../Rack/res/fonts/*.ttf))
PLUGIN_RESOURCES += $(TARGET_DIR)/$(NAME).vst3/Contents/Resources CORE_RESOURCES += template.vcv
# Cardinal (full) is not available as VST2 due to lack of CV ports PLUGIN_RESOURCES = $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).lv2/resources/%)
ifneq ($(NAME),Cardinal) PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%)
# Cardinal main variant is not available as VST2 due to lack of CV ports
ifneq ($(CARDINAL_VARIANT),main)
ifeq ($(MACOS),true) ifeq ($(MACOS),true)
PLUGIN_RESOURCES += $(TARGET_DIR)/$(NAME).vst/Contents/Resources PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/Contents/Resources/%)
else else
PLUGIN_RESOURCES += $(TARGET_DIR)/$(NAME).vst/resources PLUGIN_RESOURCES += $(CORE_RESOURCES:%=$(TARGET_DIR)/$(NAME).vst/resources/%)
endif endif
endif endif
endif # CardinalFX
# --------------------------------------------------------------
resources: $(PLUGIN_RESOURCES) resources: $(PLUGIN_RESOURCES)
ifneq ($(NAME),CardinalFX) # --------------------------------------------------------------
lv2: resources
vst2: resources
vst3: resources
$(TARGET_DIR)/$(NAME).%: $(TARGET_DIR)/CardinalFX.%
-@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@
endif
$(TARGET_DIR)/CardinalFX.%/template.vcv: ../template.vcv $(TARGET_DIR)/$(NAME).%/template.vcv: ../template.vcv
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/CardinalFX.lv2/resources/%: ../Rack/res/% $(TARGET_DIR)/$(NAME).lv2/resources/%: ../Rack/res/%
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/CardinalFX.vst/resources/%: ../Rack/res/% $(TARGET_DIR)/$(NAME).vst/resources/%: ../Rack/res/%
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/CardinalFX.vst/Contents/Resources/%: ../Rack/res/% $(TARGET_DIR)/$(NAME).vst/Contents/Resources/%: ../Rack/res/%
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@
$(TARGET_DIR)/CardinalFX.vst3/Contents/Resources/%: ../Rack/res/% $(TARGET_DIR)/$(NAME).vst3/Contents/Resources/%: ../Rack/res/%
-@mkdir -p "$(shell dirname $@)" -@mkdir -p "$(shell dirname $@)"
$(SILENT)ln -sf $(abspath $<) $@ $(SILENT)ln -sf $(abspath $<) $@