JUCE_REPO := https://github.com/juce-framework/JUCE.git JUCE_DIR := lib/JUCE JUCE_TAG := 8.0.9 BUILD_DIR := build CMAKE_ARGS := -DCMAKE_BUILD_TYPE=Release .PHONY: all clean fetch configure build install all: install $(JUCE_DIR)/CMakeLists.txt: @echo ">>> Fetching JUCE $(JUCE_TAG)..." git clone --depth 1 --branch $(JUCE_TAG) $(JUCE_REPO) $(JUCE_DIR) fetch: $(JUCE_DIR)/CMakeLists.txt configure: fetch @echo ">>> Configuring..." mkdir -p $(BUILD_DIR) cmake -B $(BUILD_DIR) -S . $(CMAKE_ARGS) build: configure @echo ">>> Building MonoSlicer..." cmake --build $(BUILD_DIR) -j$$(sysctl -n hw.ncpu) install: build @echo ">>> Installing plugins..." mkdir -p ~/Library/Audio/Plug-Ins/Components mkdir -p ~/Library/Audio/Plug-Ins/VST3 cp -R $(BUILD_DIR)/MonoSlicer_artefacts/Release/AU/MonoSlicer.component ~/Library/Audio/Plug-Ins/Components/ cp -R $(BUILD_DIR)/MonoSlicer_artefacts/Release/VST3/MonoSlicer.vst3 ~/Library/Audio/Plug-Ins/VST3/ @echo ">>> Rescanning Audio Units..." killall -9 AudioComponentRegistrar 2>/dev/null; true @echo ">>> Done. MonoSlicer installed as AU and VST3." clean: rm -rf $(BUILD_DIR)