wand/Makefile
2025-12-10 20:31:10 +01:00

62 lines
1.4 KiB
Makefile

sources = $(shell find . -name "*.go" | grep -v iniparser.gen.go | grep -v docreflect.gen.go | grep -v docreflect_test.go)
default: build
lib: $(sources) iniparser.gen.go docreflect.gen.go
go build
go build ./tools
build: lib .build/wand
check: $(sources) build docreflect_test.go
go test -count 1 ./...
.cover: $(sources) build docreflect_test.go
go test -count 1 -coverprofile .cover ./...
cover: .cover
go tool cover -func .cover
showcover: .cover
go tool cover -html .cover
fmt: $(sources) iniparser.gen.go docreflect.gen.go
go fmt ./...
iniparser.gen.go: ini.treerack
go run script/ini-parser/parser.go wand < ini.treerack > iniparser.gen.go || rm -f iniparser.gen.go
docreflect.gen.go: $(sources)
go run script/docreflect/docs.go \
wand \
code.squareroundforest.org/arpio/wand/tools \
> docreflect.gen.go \
|| rm -f docreflect.gen.go
docreflect_test.go: $(sources)
go run script/docreflect/docs.go \
wand \
code.squareroundforest.org/arpio/wand/internal/tests/testlib \
> docreflect_test.go \
|| rm -f docreflect_test.go
.build:
mkdir -p .build
.build/wand: $(sources) iniparser.gen.go docreflect.gen.go .build
go build \
-o .build/wand \
-ldflags "-X main.version=$(git show -s --format=%cs HEAD)-$(shell git rev-parse --short HEAD)" \
./cmd/wand
install: .build/wand
cp .build/wand ~/bin
clean:
go clean ./...
rm -rf .build
rm -f docreflect.gen.go
rm -f docreflect_test.go
rm -f iniparser.gen.go
rm -f .cover