.PHONY: all clean env test bench gox test-integration TMPGOPATH=$(PWD)/.gopath VENDORPATH=$(PWD)/Godeps/_workspace BASE=github.com/restic/restic BASEPATH=$(TMPGOPATH)/src/$(BASE) GOPATH=$(TMPGOPATH):$(VENDORPATH) GOTESTFLAGS ?= -v GOX_OS ?= linux darwin openbsd freebsd SFTP_PATH ?= /usr/lib/ssh/sftp-server CMDS=$(patsubst cmd/%,%,$(wildcard cmd/*)) CMDS_DEBUG=$(patsubst %,%.debug,$(CMDS)) export GOPATH GOX_OS all: restic .gopath: mkdir -p .gopath/src/github.com/restic ln -sf ../../../.. .gopath/src/github.com/restic/restic %: cmd/% .gopath cd $(BASEPATH) && \ go build -a -ldflags "-s" -o $@ ./$< %.debug: cmd/% .gopath cd $(BASEPATH) && \ go build -a -tags debug -ldflags "-s" -o $@ ./$< clean: rm -rf .gopath $(CMDS) $(CMDS_DEBUG) *.cov restic_* go clean ./... test: .gopath cd $(BASEPATH) && \ go test $(GOTESTFLAGS) ./... bench: .gopath cd $(BASEPATH) && \ go test $(GOTESTFLAGS) -bench ./... gox: .gopath cd $(BASEPATH) && \ gox -verbose -os "$(GOX_OS)" ./cmd/restic test-integration: .gopath restic restic.debug dirdiff # run testsuite PATH=.:$(PATH) ./testsuite.sh # run sftp integration tests cd $(BASEPATH)/backend && \ go test $(GOTESTFLAGS) -test.sftppath $(SFTP_PATH) ./... all.cov: .gopath cd $(BASEPATH) && \ ./coverage_all.sh all.cov env: @echo export GOPATH=\"$(GOPATH)\"