1
0
docreflect/Makefile

69 lines
1.9 KiB
Makefile
Raw Normal View History

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