This commit is contained in:
Armin 2026-08-10 12:55:02 +02:00
commit 6c0d072465
19 changed files with 2212 additions and 0 deletions

74
Makefile Normal file
View file

@ -0,0 +1,74 @@
# Horizont plugin - build and install (macOS)
#
# make fetch JUCE, configure and build (Release)
# make install build and install into ~/Library/Audio/Plug-Ins
# make uninstall remove the installed copies
# make clean delete the build directory
# make help list available targets
JUCE_DIR := JUCE
JUCE_VERSION := 8.0.15
JUCE_REPO := https://github.com/juce-framework/JUCE.git
BUILD_DIR := build
ARTIFACTS := $(BUILD_DIR)/Horizont_artefacts
CONFIG := Release
VST3 := $(ARTIFACTS)/$(CONFIG)/VST3/Horizont.vst3
AU := $(ARTIFACTS)/$(CONFIG)/AU/Horizont.component
PLUGINS_HOME := $(HOME)/Library/Audio/Plug-Ins
VST3_INSTALL := $(PLUGINS_HOME)/VST3/Horizont.vst3
AU_INSTALL := $(PLUGINS_HOME)/Components/Horizont.component
CMAKE := cmake
JUCE_ROOT := $(abspath $(CURDIR)/$(JUCE_DIR))
.PHONY: all help deps configure build install uninstall clean
all: build
help:
@echo "Horizont plugin targets:"
@echo " make build (fetch JUCE into ./$(JUCE_DIR) if missing)"
@echo " make install build + install into $(PLUGINS_HOME)"
@echo " make uninstall remove installed plugin"
@echo " make clean delete $(BUILD_DIR)"
deps:
@if [ -f "$(JUCE_DIR)/CMakeLists.txt" ]; then \
echo "==> JUCE already present in ./$(JUCE_DIR)"; \
else \
echo "==> Fetching JUCE $(JUCE_VERSION) into ./$(JUCE_DIR) ..."; \
git clone --depth 1 --branch $(JUCE_VERSION) $(JUCE_REPO) $(JUCE_DIR) || { \
echo "!! Could not fetch JUCE. Check network access."; exit 1; }; \
fi
configure: deps
@mkdir -p $(BUILD_DIR)
$(CMAKE) -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=$(CONFIG) -DJUCE_ROOT="$(JUCE_ROOT)"
build: configure
$(CMAKE) --build $(BUILD_DIR) --target Horizont_All --config $(CONFIG) -j
$(VST3) $(AU): build
install: build
@echo "==> Installing Horizont into $(PLUGINS_HOME)"
@mkdir -p "$(PLUGINS_HOME)/VST3" "$(PLUGINS_HOME)/Components"
@rm -rf "$(VST3_INSTALL)" "$(AU_INSTALL)"
@cp -R "$(VST3)" "$(VST3_INSTALL)"
@cp -R "$(AU)" "$(AU_INSTALL)"
@codesign --force --deep --sign - "$(VST3_INSTALL)" >/dev/null 2>&1 || true
@codesign --force --deep --sign - "$(AU_INSTALL)" >/dev/null 2>&1 || true
@echo "==> Installed:"
@echo " $(VST3_INSTALL)"
@echo " $(AU_INSTALL)"
uninstall:
@rm -rf "$(VST3_INSTALL)" "$(AU_INSTALL)"
@echo "==> Removed installed plugin."
clean:
@rm -rf $(BUILD_DIR)
@echo "==> Cleaned $(BUILD_DIR)."