LDFLAGS = '\ -X "main.versionGit=$(shell git describe --long --tags --dirty --always) \ $(shell git show --no-patch --pretty=format:%as)" \ -X "main.versionGo=$(shell go version)" \ ' # Build with `make GOFLAGS=` if -race is not supported GOFLAGS=-race all: safcm safcm: go fmt ./... cd cmd/safcm-remote && ./build.sh go build $(GOFLAGS) -ldflags $(LDFLAGS) ruderich.org/simon/safcm/cmd/safcm test: @# For proper permissions after initial clone with a strict umask cd cmd/safcm/testdata/project && ../../../../safcm fixperms 2> /dev/null @# ./cmd/safcm/testdata/ssh/prepare.sh go vet ./... go test $(GOFLAGS) ./... lint: shellcheck ci/run shellcheck cmd/safcm-remote/build.sh shellcheck cmd/safcm/testdata/ssh/prepare.sh clean: rm -rf cmd/safcm/remote/ rm -f safcm rm -f cmd/safcm/testdata/ssh/ssh/authorized_keys rm -f cmd/safcm/testdata/ssh/ssh/id_ed25519 rm -f cmd/safcm/testdata/ssh/ssh/id_ed25519.pub rm -f cmd/safcm/testdata/ssh/ssh/known_hosts rm -f cmd/safcm/testdata/ssh/sshd/ssh_host_key rm -f cmd/safcm/testdata/ssh/sshd/ssh_host_key.pub rm -rf cmd/safcm/testdata/ssh/project/no-changes.example.org/ .PHONY: all test clean safcm