mirror of
https://codeberg.org/armin/monoslicer.git
synced 2026-09-01 12:10:46 +02:00
Colorize Makefile build output, use portable getconf for CPU count
This commit is contained in:
parent
6588549e80
commit
9d57fd092d
2 changed files with 40 additions and 12 deletions
|
|
@ -91,4 +91,4 @@ target_link_libraries(Monoslicer
|
|||
)
|
||||
|
||||
# Suppress JUCE / VST3 SDK warnings globally for all targets.
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-implicit-int-conversion-on-negation")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics -Wno-deprecated-declarations -Wno-implicit-int-conversion-on-negation")
|
||||
|
|
|
|||
50
Makefile
50
Makefile
|
|
@ -4,34 +4,62 @@ JUCE_TAG := 8.0.9
|
|||
BUILD_DIR := build
|
||||
CMAKE_ARGS := -DCMAKE_BUILD_TYPE=Release
|
||||
|
||||
C_RESET := \033[0m
|
||||
C_BOLD := \033[1m
|
||||
C_DIM := \033[2m
|
||||
C_CYAN := \033[36m
|
||||
C_GREEN := \033[32m
|
||||
C_YELLOW := \033[33m
|
||||
|
||||
STEP = @printf '$(C_BOLD)$(C_CYAN)▸$(C_RESET) $(C_BOLD)$(1)$(C_RESET)\n'
|
||||
INFO = @printf '$(C_DIM) $(1)$(C_RESET)\n'
|
||||
COLORIZE = sed -E "$$(printf ' \
|
||||
s/([0-9]+)%%/\033[92m\\1%%\033[0m/g; \
|
||||
s/(Building [A-Z]+ object [^ ]+)/\033[34m\\1\033[0m/g; \
|
||||
s/(Linking [A-Z]+ [^ ]+)/\033[35m\\1\033[0m/g; \
|
||||
s/(Configuring done)/\033[92m\\1\033[0m/g; \
|
||||
s/(Generating done)/\033[92m\\1\033[0m/g; \
|
||||
s/(Build files have been written to: .+)/\033[92m\\1\033[0m/g; \
|
||||
s/(-- [A-Z].+)/\033[94m\\1\033[0m/g; \
|
||||
s/(-- .+ - (done|yes|no))$$/\033[92m\\1\033[0m/g; \
|
||||
s/(.*error:.*)$$/\033[1m\\1\033[0m/i \
|
||||
')"
|
||||
|
||||
.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)
|
||||
$(call STEP,Fetching JUCE $(JUCE_TAG))
|
||||
$(call INFO,cloning $(C_CYAN)juce-framework/JUCE$(C_RESET)$(C_DIM)@$(JUCE_TAG)$(C_RESET))
|
||||
git clone --depth 1 --branch $(JUCE_TAG) $(JUCE_REPO) $(JUCE_DIR) | $(COLORIZE)
|
||||
|
||||
fetch: $(JUCE_DIR)/CMakeLists.txt
|
||||
|
||||
configure: fetch
|
||||
@echo ">>> Configuring..."
|
||||
mkdir -p $(BUILD_DIR)
|
||||
cmake -B $(BUILD_DIR) -S . $(CMAKE_ARGS)
|
||||
$(call STEP,Configuring CMake)
|
||||
$(call INFO,$(C_DIM)cmake -B build -S . -DCMAKE_BUILD_TYPE=Release$(C_RESET))
|
||||
cmake -B $(BUILD_DIR) -S . $(CMAKE_ARGS) | $(COLORIZE)
|
||||
|
||||
build: configure
|
||||
@echo ">>> Building Monoslicer..."
|
||||
cmake --build $(BUILD_DIR) -j$$(sysctl -n hw.ncpu)
|
||||
$(call STEP,Building Monoslicer)
|
||||
$(call INFO,$(C_DIM)$(C_YELLOW)$(shell getconf _NPROCESSORS_ONLN)$(C_RESET)$(C_DIM) parallel jobs$(C_RESET))
|
||||
cmake --build $(BUILD_DIR) -j$(shell getconf _NPROCESSORS_ONLN) | $(COLORIZE)
|
||||
|
||||
install: build
|
||||
@echo ">>> Installing plugins..."
|
||||
$(call STEP,Installing plugins)
|
||||
$(call INFO,$(C_DIM)AU → ~/Library/Audio/Plug-Ins/Components$(C_RESET))
|
||||
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/
|
||||
$(call INFO,$(C_DIM)VST3 → ~/Library/Audio/Plug-Ins/VST3$(C_RESET))
|
||||
mkdir -p ~/Library/Audio/Plug-Ins/VST3
|
||||
cp -R $(BUILD_DIR)/Monoslicer_artefacts/Release/VST3/Monoslicer.vst3 ~/Library/Audio/Plug-Ins/VST3/
|
||||
@echo ">>> Rescanning Audio Units..."
|
||||
$(call STEP,Rescanning Audio Units)
|
||||
killall -9 AudioComponentRegistrar 2>/dev/null; true
|
||||
@echo ">>> Done. Monoslicer installed as AU and VST3."
|
||||
@printf '\n $(C_GREEN)$(C_BOLD)✓ Done.$(C_RESET) $(C_GREEN)Monoslicer$(C_RESET)$(C_DIM) installed as AU and VST3$(C_RESET)\n\n'
|
||||
|
||||
clean:
|
||||
$(call STEP,Cleaning)
|
||||
rm -rf $(BUILD_DIR)
|
||||
$(call INFO,$(C_DIM)removed $(BUILD_DIR)/$(C_RESET))
|
||||
@printf ' $(C_GREEN)$(C_BOLD)✓ Clean.$(C_RESET)\n'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue