mirror of
https://codeberg.org/armin/horizont.git
synced 2026-09-01 04:10:46 +02:00
74 lines
2.4 KiB
Makefile
74 lines
2.4 KiB
Makefile
|
|
# 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)."
|