docstore/Makefile
2022-09-19 15:26:09 +02:00

61 lines
1.5 KiB
Makefile

CC=go
BUILD=build -v -trimpath
VERSION=$(shell cat VERSION)
GCFLAGS=-gcflags '-e'
LDFLAGS=-ldflags '-buildid=$(VERSION) -X main.version=$(VERSION) -s -w'
PROGRAM=docstore
CMD=-o $(PROGRAM) cmd/docstore/main.go
ENV=CGO_ENABLED=0 GO111MODULE=on
arch:
GOOS=openbsd make release PROGRAM=docstore_openbsd_amd64
GOOS=linux make release PROGRAM=docstore_linux_amd64
GOOS=linux GOARCH=arm64 make release PROGRAM=docstore_linux_arm64
all: $(PROGRAM)
setup:
$(CC) install github.com/client9/misspell/cmd/misspell@latest
$(CC) install honnef.co/go/tools/cmd/staticcheck@latest
release: clean gofmt codeqa
$(ENV) $(CC) $(BUILD) $(GCFLAGS) $(LDFLAGS) $(CMD)
release-vendor: clean gofmt codeqa
$(ENV) $(CC) $(BUILD) -mod=vendor $(GCFLAGS) $(LDFLAGS) $(CMD)
vendor: clean gofmt
$(ENV) $(CC) $(BUILD) -mod=vendor $(GCFLAGS) $(LDFLAGS) $(CMD)
$(PROGRAM): clean gofmt
$(ENV) $(CC) $(BUILD) $(GCFLAGS) $(LDFLAGS) $(CMD)
clean:
$(CC) clean -x
gofmt:
gofmt -w pkg/ cmd/
codeqa: govet misspell staticcheck test
govet:
$(CC) vet ./...
misspell:
$(GOPATH)/bin/misspell cmd/* pkg/* Makefile README.md sri.sh
staticcheck:
$(GOPATH)/bin/staticcheck ./...
test:
ifeq ($(shell go env GOARCH), $(shell go env GOHOSTARCH))
ifeq ($(shell go env GOOS), $(shell go env GOHOSTOS))
$(CC) test ./...
else
$(info skipping tests of other platforms)
endif
else
$(info skipping tests of other platforms)
endif
.PHONY: arch setup release release-vendor vendor build clean codeqa gofmt govet misspell staticcheck test