-X "main.versionGit=$(shell git describe --long --tags --dirty --always)" \
-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 -ldflags $(LDFLAGS) -race ruderich.org/simon/safcm/cmd/safcm
+ 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) ./...
clean:
rm -rf remote/helpers/
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
-.PHONY: all clean safcm
+.PHONY: all test clean safcm