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=GOGC=0 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 ./... update: $(ENV) $(CC) get -u ./... misspell: $(GOPATH)/bin/misspell cmd/* pkg/* Makefile README.md sri.sh staticcheck: /bin/true # $(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