1
0
docreflect/Makefile
2026-01-21 22:00:31 +01:00

69 lines
1.9 KiB
Makefile

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)
default: build
libdocreflect: $(sources)
go build .
libgenerate: $(sources)
go build ./generate
.build:
mkdir -p .build
.build/docreflect: $(sources) .build cmd/docreflect/docs.gen.go
go build -o .build/docreflect -ldflags "-X main.version=$(version)" ./cmd/docreflect
.build/docreflect.1: $(sources) .build cmd/docreflect/docs.gen.go
go run scripts/man.go $(version) $(release_date) ./cmd/docreflect > .build/docreflect.1
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
.cover: $(sources) testdocs_test.go
go test -count 1 -coverprofile .cover . ./generate
check: .cover
cover: .cover
go tool cover -func .cover
showcover: .cover
go tool cover -html .cover
fmt: $(sources)
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
install: $(prefix)/bin/docreflect $(prefix)/share/man/man1/docreflect.1
clean:
go clean ./...
rm -rf .build
rm -f testdocs_test.go