From 76d88856aa4ef78342d4ffe6bb533c29fe342fc0 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 23 Jul 2026 12:34:57 +0200 Subject: scaffold: module, mains, Makefile, embedded corpora --- Makefile | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ba8688c --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +LECTIO := lectio +LECTIO_UI := lectio-ui +PREFIX ?= $(HOME)/.local +BINDIR := $(PREFIX)/bin + +.PHONY: help build install uninstall test vet fmt clean cross +help: ## show this help + @grep -hE '^[a-z-]+:.*##' $(MAKEFILE_LIST) | sed -E 's/:.*## /\t/' | sort +build: ## build ./lectio and ./lectio-ui + go build -o $(LECTIO) ./cmd/lectio + go build -o $(LECTIO_UI) ./cmd/lectio-ui +install: ## build and install both to $(BINDIR) + @mkdir -p $(BINDIR) + go build -o $(BINDIR)/$(LECTIO) ./cmd/lectio + go build -o $(BINDIR)/$(LECTIO_UI) ./cmd/lectio-ui + @echo "installed $(BINDIR)/$(LECTIO) and $(BINDIR)/$(LECTIO_UI)" +uninstall: ## remove installed binaries + rm -f $(BINDIR)/$(LECTIO) $(BINDIR)/$(LECTIO_UI) +test: ## run tests + go test ./... +vet: ## go vet + go vet ./... +fmt: ## gofmt the tree + gofmt -w . +clean: ## remove build artifacts + rm -f $(LECTIO) $(LECTIO_UI); rm -rf dist +cross: ## cross-compile into dist/ + @mkdir -p dist + @for t in linux/amd64 linux/arm64 darwin/arm64 darwin/amd64 windows/amd64; do \ + os=$${t%/*}; arch=$${t#*/}; ext=; [ $$os = windows ] && ext=.exe; \ + echo " $$os/$$arch"; \ + GOOS=$$os GOARCH=$$arch go build -o dist/$(LECTIO)-$$os-$$arch$$ext ./cmd/lectio; \ + GOOS=$$os GOARCH=$$arch go build -o dist/$(LECTIO_UI)-$$os-$$arch$$ext ./cmd/lectio-ui; \ + done -- cgit v1.3