mirror of
https://codeberg.org/armin/chromaflock.git
synced 2026-09-01 04:10:47 +02:00
81 lines
2.4 KiB
Makefile
81 lines
2.4 KiB
Makefile
# ChromaFlock — Makefile wrapping CMake
|
|
# Usage:
|
|
# make — configure (if needed) + build Release
|
|
# make debug — configure + build Debug
|
|
# make clean — remove build directory
|
|
# make rebuild — clean + build Release
|
|
# make install — build + copy plugins to system dirs
|
|
# make run — build Standalone and launch
|
|
# make help — show help
|
|
|
|
BUILD_DIR := build
|
|
BUILD_TYPE := Release
|
|
CMAKE_FLAGS := -DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
|
UNAME_S := $(shell uname -s)
|
|
|
|
# Platform-aware CPU count
|
|
ifeq ($(UNAME_S),Darwin)
|
|
JOBS := $(shell sysctl -n hw.ncpu 2>/dev/null || echo 4)
|
|
else
|
|
JOBS := $(shell nproc 2>/dev/null || echo 4)
|
|
endif
|
|
|
|
# Artefact paths
|
|
VST3 := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3
|
|
APP := $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/Standalone/ChromaFlock.app
|
|
|
|
.PHONY: all debug release clean rebuild configure install run help
|
|
|
|
all: release
|
|
|
|
release: $(VST3)
|
|
|
|
debug:
|
|
@cmake -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Debug $(CMAKE_FLAGS)
|
|
@cmake --build $(BUILD_DIR) --config Debug -j$(JOBS)
|
|
|
|
$(VST3):
|
|
@cmake -B $(BUILD_DIR) $(CMAKE_FLAGS)
|
|
@cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) -j$(JOBS)
|
|
|
|
configure:
|
|
@cmake -B $(BUILD_DIR) $(CMAKE_FLAGS)
|
|
|
|
clean:
|
|
@rm -rf $(BUILD_DIR)
|
|
|
|
rebuild: clean all
|
|
|
|
install: all
|
|
ifeq ($(UNAME_S),Darwin)
|
|
@echo "Plugins were copied to system folders by CMAKE_COPY_PLUGIN_AFTER_BUILD."
|
|
@echo "VST3: ~/Library/Audio/Plug-Ins/VST3/"
|
|
@echo "AU: ~/Library/Audio/Plug-Ins/Components/"
|
|
else ifeq ($(UNAME_S),Linux)
|
|
@echo "VST3: ~/.vst3/"
|
|
@echo "Standalone: $(APP)"
|
|
@mkdir -p ~/.vst3
|
|
@cp -r $(BUILD_DIR)/ChromaFlock_artefacts/$(BUILD_TYPE)/VST3/ChromaFlock.vst3 ~/.vst3/
|
|
@echo "Installed ChromaFlock.vst3 to ~/.vst3/"
|
|
else
|
|
@echo "Install paths unknown for this platform."
|
|
endif
|
|
|
|
run: $(APP)
|
|
ifeq ($(UNAME_S),Darwin)
|
|
open "$(APP)"
|
|
else
|
|
xdg-open "$(APP)" 2>/dev/null || "$(APP)/Contents/Linux/ChromaFlock" &
|
|
endif
|
|
|
|
help:
|
|
@echo "ChromaFlock Makefile"
|
|
@echo ""
|
|
@echo " make — Build Release (VST3/Standalone)"
|
|
@echo " make debug — Build Debug"
|
|
@echo " make clean — Remove build/"
|
|
@echo " make rebuild — Clean + Build Release"
|
|
@echo " make configure — Run CMake configure only"
|
|
@echo " make install — Install VST3 to system dir"
|
|
@echo " make run — Build and launch Standalone app"
|
|
@echo " make help — This message"
|