2026-01-21 22:00:31 +01:00
|
|
|
sources = $(shell find . -name "*.go" | grep -v testdocs_test.go | grep -v cmd/docreflect/docs.gen.go)
|
|
|
|
|
PREFIX ?= /usr/local
|
|
|
|
|
prefix ?= $(PREFIX)
|
|
|
|
|
release_date = $(shell git show -s --format=%cs HEAD)
|
|
|
|
|
version = $(release_date)-$(shell git rev-parse --short HEAD)
|
2025-08-08 21:44:31 +02:00
|
|
|
|
|
|
|
|
default: build
|
|
|
|
|
|
2025-10-31 20:27:07 +01:00
|
|
|
libdocreflect: $(sources)
|
2025-08-08 21:44:31 +02:00
|
|
|
go build .
|
|
|
|
|
|
2025-10-31 20:27:07 +01:00
|
|
|
libgenerate: $(sources)
|
2025-08-17 15:59:01 +02:00
|
|
|
go build ./generate
|
2025-08-08 21:44:31 +02:00
|
|
|
|
2026-01-21 22:00:31 +01:00
|
|
|
.build:
|
|
|
|
|
mkdir -p .build
|
2025-08-08 21:44:31 +02:00
|
|
|
|
2026-01-21 22:00:31 +01:00
|
|
|
.build/docreflect: $(sources) .build cmd/docreflect/docs.gen.go
|
|
|
|
|
go build -o .build/docreflect -ldflags "-X main.version=$(version)" ./cmd/docreflect
|
2025-08-17 15:59:01 +02:00
|
|
|
|
2026-01-21 22:00:31 +01:00
|
|
|
.build/docreflect.1: $(sources) .build cmd/docreflect/docs.gen.go
|
|
|
|
|
go run scripts/man.go $(version) $(release_date) ./cmd/docreflect > .build/docreflect.1
|
2025-08-08 21:44:31 +02:00
|
|
|
|
2026-01-21 22:00:31 +01:00
|
|
|
cmd/docreflect/readme.md: $(sources) cmd/docreflect/docs.gen.go
|
|
|
|
|
go run scripts/markdown.go ./cmd/docreflect > cmd/docreflect/readme.md
|
|
|
|
|
|
|
|
|
|
build: libdocreflect libgenerate .build/docreflect cmd/docreflect/readme.md
|
|
|
|
|
|
|
|
|
|
testdocs_test.go: $(sources) .build
|
|
|
|
|
go run ./cmd/docreflect \
|
|
|
|
|
docreflect_test \
|
|
|
|
|
code.squareroundforest.org/arpio/docreflect/internal/tests/src/testpackage \
|
|
|
|
|
> .build/testdocs_test.go \
|
|
|
|
|
&& mv .build/testdocs_test.go testdocs_test.go
|
|
|
|
|
|
|
|
|
|
cmd/docreflect/docs.gen.go: $(sources)
|
|
|
|
|
go run ./cmd/docreflect \
|
|
|
|
|
main \
|
|
|
|
|
code.squareroundforest.org/arpio/docreflect/generate \
|
|
|
|
|
> .build/docs.gen.go \
|
|
|
|
|
&& mv .build/docs.gen.go cmd/docreflect/docs.gen.go
|
2025-08-17 15:59:01 +02:00
|
|
|
|
2025-10-31 20:27:07 +01:00
|
|
|
.cover: $(sources) testdocs_test.go
|
2025-08-08 21:44:31 +02:00
|
|
|
go test -count 1 -coverprofile .cover . ./generate
|
2025-08-17 15:59:01 +02:00
|
|
|
|
|
|
|
|
check: .cover
|
2025-08-08 21:44:31 +02:00
|
|
|
|
|
|
|
|
cover: .cover
|
|
|
|
|
go tool cover -func .cover
|
|
|
|
|
|
|
|
|
|
showcover: .cover
|
|
|
|
|
go tool cover -html .cover
|
|
|
|
|
|
2025-10-31 20:27:07 +01:00
|
|
|
fmt: $(sources)
|
2026-01-21 22:00:31 +01:00
|
|
|
go fmt . ./generate ./cmd/docreflect ./scripts
|
|
|
|
|
|
|
|
|
|
$(prefix)/bin/docreflect: .build/docreflect
|
|
|
|
|
cp .build/docreflect $(prefix)/bin/docreflect
|
|
|
|
|
|
|
|
|
|
$(prefix)/share/man/man1/docreflect.1: .build/docreflect.1
|
|
|
|
|
cp .build/docreflect.1 $(prefix)/share/man/man1/docreflect.1
|
2025-08-08 21:44:31 +02:00
|
|
|
|
2026-01-21 22:00:31 +01:00
|
|
|
install: $(prefix)/bin/docreflect $(prefix)/share/man/man1/docreflect.1
|
2025-08-08 21:44:31 +02:00
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
go clean ./...
|
2026-01-21 22:00:31 +01:00
|
|
|
rm -rf .build
|
2025-08-08 21:44:31 +02:00
|
|
|
rm -f testdocs_test.go
|