SHELL := /bin/bash

BUILD_DIR := build
PLUGIN_DIR := build/MonoStep_artefacts/Release/VST3
PLUGIN := MonoStep.vst3
VST3_DIR := $(HOME)/Library/Audio/Plug-Ins/VST3
TEST_HOST := build/MonoStepTestHost_artefacts/Release/MonoStepTestHost

.PHONY: all build install test clean

all: install

# Configure (if needed) and build the VST3 plugin.
build:
	cmake -S . -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Release
	cmake --build $(BUILD_DIR) --target MonoStep_VST3

# Build then copy the fresh plugin into the user VST3 directory.
install: build
	@mkdir -p "$(VST3_DIR)"
	@rm -rf "$(VST3_DIR)/$(PLUGIN)"
	cp -R "$(PLUGIN_DIR)/$(PLUGIN)" "$(VST3_DIR)/"
	@echo "Installed $(PLUGIN) into $(VST3_DIR)"

test: build
	cmake --build $(BUILD_DIR) --target MonoStepTestHost
	"$(TEST_HOST)" "$(PLUGIN_DIR)/$(PLUGIN)"

clean:
	rm -rf $(BUILD_DIR)
