# RMX-19 build & install Makefile (macOS arm64) # # make configure + build VST3 and AU (Release, arm64) # make install build, codesign (ad-hoc), install into ~/Library/Audio/Plug-Ins, # strip the quarantine attribute from the installed bundles # make uninstall remove installed bundles # make clean delete the CMake build tree # # Note: after install, restart (or cold-start) the audio host so macOS rescans # AudioComponents. A fresh AU/AUv3 may first appear after a host relaunch. BUILD_DIR ?= build CONFIG ?= Release PLUGIN_BASE = RMX-19 CMAKE := cmake BUILD_DIR_ABSPATH := $(abspath $(BUILD_DIR)) ARTEFACTS := $(BUILD_DIR)/RMX19_artefacts/$(CONFIG) JUCE_DIR := $(BUILD_DIR)/JUCE JUCE_REPO := https://github.com/juce-framework/JUCE.git JUCE_TAG := 8.0.4 VST3_SRC := $(ARTEFACTS)/VST3/$(PLUGIN_BASE).vst3 AU_SRC := $(ARTEFACTS)/AU/$(PLUGIN_BASE).component VST3_DEST := $(HOME)/Library/Audio/Plug-Ins/VST3/$(PLUGIN_BASE).vst3 AU_DEST := $(HOME)/Library/Audio/Plug-Ins/Components/$(PLUGIN_BASE).component USER_PLUGIN_DIRS := $(HOME)/Library/Audio/Plug-Ins/VST3 $(HOME)/Library/Audio/Plug-Ins/Components .EXPORT_ALL_VARIABLES: CMAKE_BUILD_TYPE := $(CONFIG) .PHONY: all configure build install uninstall clean info juce all: build build: configure $(CMAKE) --build $(BUILD_DIR) --config $(CONFIG) --parallel juce: @if [ ! -d "$(JUCE_DIR)" ]; then \ echo "Fetching JUCE $(JUCE_TAG)..."; \ git clone --branch $(JUCE_TAG) --depth 1 $(JUCE_REPO) $(JUCE_DIR); \ else \ echo "JUCE already present at $(JUCE_DIR)"; \ fi # Re-run cmake on every invocation: it is cheap when nothing changed and keeps # the footer's git branch/hash and local build timestamp fresh. configure: juce $(CMAKE) -S . -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=$(CONFIG) -DJUCE_ROOT=$(JUCE_DIR) install: build @codesign --force --deep --sign - "$(VST3_SRC)" >/dev/null 2>&1 || true @codesign --force --deep --sign - "$(AU_SRC)" >/dev/null 2>&1 || true @mkdir -p $(USER_PLUGIN_DIRS) @cp -Rf "$(VST3_SRC)" "$(HOME)/Library/Audio/Plug-Ins/VST3/" @cp -Rf "$(AU_SRC)" "$(HOME)/Library/Audio/Plug-Ins/Components/" @xattr -dr com.apple.quarantine "$(VST3_DEST)" 2>/dev/null || true @xattr -dr com.apple.quarantine "$(AU_DEST)" 2>/dev/null || true @echo "installed:" @echo " $(VST3_DEST)" @echo " $(AU_DEST)" @echo "" @echo "audiosignature:" @codesign -dv "$(VST3_DEST)" 2>&1 | head -1 @echo "" @echo "Restart your DAW / AudioHost to make the AU rescan." uninstall: @rm -rf "$(VST3_DEST)" "$(AU_DEST)" @echo "removed RMX-19 from user Audio Plug-Ins." clean: @rm -rf $(BUILD_DIR) @echo "removed $(BUILD_DIR)." info: @echo "BUILD_DIR : $(BUILD_DIR_ABSPATH)" @echo "CONFIG : $(CONFIG)" @echo "VST3 : $(VST3_SRC)" @echo "AU : $(AU_SRC)"