Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously an unversioned directory inside ~/src/blockninja-themes/terminal. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
61 lines
2.1 KiB
Makefile
61 lines
2.1 KiB
Makefile
# Terminal — build helpers (.so plugin workflow)
|
|
#
|
|
# The plugin compiles to a .so shared object loaded by the CMS at runtime.
|
|
#
|
|
# Usage:
|
|
# make # Default: build terminal.so locally
|
|
# make clean # Remove built artefacts
|
|
# make templ # Regenerate *_templ.go
|
|
|
|
.PHONY: all clean templ help bump-patch bump-minor bump-major sync-version
|
|
|
|
PLUGIN_NAME := terminal
|
|
TEMPL := $(HOME)/go/bin/templ
|
|
|
|
# Default target: build the .so locally
|
|
all: $(PLUGIN_NAME).so
|
|
|
|
# Local plugin build
|
|
$(PLUGIN_NAME).so: $(wildcard *.go) plugin.mod go.mod
|
|
CGO_ENABLED=1 go build -buildmode=plugin -ldflags="-s -w" -o $(PLUGIN_NAME).so .
|
|
|
|
# Regenerate templ Go files
|
|
templ:
|
|
$(TEMPL) generate
|
|
|
|
clean:
|
|
rm -f $(PLUGIN_NAME).so
|
|
|
|
help:
|
|
@echo "Targets:"
|
|
@echo " all Build $(PLUGIN_NAME).so locally (default)"
|
|
@echo " templ Regenerate templ Go files"
|
|
@echo " clean Remove built artefacts"
|
|
|
|
# --- Version bump targets ---
|
|
CURRENT_VERSION := $(shell grep '^version' plugin.mod | sed 's/.*"\(.*\)"/\1/')
|
|
|
|
bump-patch:
|
|
@NEW=$$(echo $(CURRENT_VERSION) | awk -F. '{printf "%d.%d.%d", $$1, $$2, $$3+1}'); \
|
|
sed -i 's/version = "$(CURRENT_VERSION)"/version = "'$$NEW'"/' plugin.mod; \
|
|
git add plugin.mod && git commit -m "chore: bump version to $$NEW" && git tag "v$$NEW"; \
|
|
echo "Bumped to $$NEW and tagged v$$NEW"
|
|
|
|
bump-minor:
|
|
@NEW=$$(echo $(CURRENT_VERSION) | awk -F. '{printf "%d.%d.0", $$1, $$2+1}'); \
|
|
sed -i 's/version = "$(CURRENT_VERSION)"/version = "'$$NEW'"/' plugin.mod; \
|
|
git add plugin.mod && git commit -m "chore: bump version to $$NEW" && git tag "v$$NEW"; \
|
|
echo "Bumped to $$NEW and tagged v$$NEW"
|
|
|
|
bump-major:
|
|
@NEW=$$(echo $(CURRENT_VERSION) | awk -F. '{printf "%d.0.0", $$1+1}'); \
|
|
sed -i 's/version = "$(CURRENT_VERSION)"/version = "'$$NEW'"/' plugin.mod; \
|
|
git add plugin.mod && git commit -m "chore: bump version to $$NEW" && git tag "v$$NEW"; \
|
|
echo "Bumped to $$NEW and tagged v$$NEW"
|
|
|
|
sync-version:
|
|
@TAG=$$(git describe --tags --abbrev=0 2>/dev/null | sed 's/^v//'); \
|
|
if [ -z "$$TAG" ]; then echo "No tags found"; exit 1; fi; \
|
|
sed -i 's/version = "$(CURRENT_VERSION)"/version = "'$$TAG'"/' plugin.mod; \
|
|
echo "Synced plugin.mod to $$TAG"
|