2015-05-10 20:43:42 +00:00
|
|
|
.PHONY: all clean env test bench gox test-integration
|
2014-08-05 21:13:19 +00:00
|
|
|
|
2015-05-10 20:43:42 +00:00
|
|
|
TMPGOPATH=$(PWD)/.gopath
|
|
|
|
VENDORPATH=$(PWD)/Godeps/_workspace
|
|
|
|
BASE=github.com/restic/restic
|
|
|
|
BASEPATH=$(TMPGOPATH)/src/$(BASE)
|
2015-01-14 16:32:37 +00:00
|
|
|
|
2015-05-10 20:43:42 +00:00
|
|
|
GOPATH=$(TMPGOPATH):$(VENDORPATH)
|
2015-01-14 16:32:37 +00:00
|
|
|
|
2015-05-10 20:43:42 +00:00
|
|
|
GOTESTFLAGS ?= -v
|
|
|
|
GOX_OS ?= linux darwin openbsd freebsd
|
|
|
|
SFTP_PATH ?= /usr/lib/ssh/sftp-server
|
|
|
|
|
2015-05-11 19:09:32 +00:00
|
|
|
CMDS=$(patsubst cmd/%,%,$(wildcard cmd/*))
|
|
|
|
CMDS_DEBUG=$(patsubst %,%.debug,$(CMDS))
|
|
|
|
|
2015-05-14 09:11:30 +00:00
|
|
|
SOURCE=$(wildcard *.go) $(wildcard */*.go) $(wildcard */*/*.go)
|
|
|
|
|
2015-05-10 20:43:42 +00:00
|
|
|
export GOPATH GOX_OS
|
|
|
|
|
|
|
|
all: restic
|
|
|
|
|
|
|
|
.gopath:
|
|
|
|
mkdir -p .gopath/src/github.com/restic
|
2015-05-14 09:10:01 +00:00
|
|
|
ln -snf ../../../.. .gopath/src/github.com/restic/restic
|
2015-05-10 20:43:42 +00:00
|
|
|
|
2015-05-14 09:11:30 +00:00
|
|
|
%: cmd/% .gopath $(SOURCE)
|
2015-05-10 20:43:42 +00:00
|
|
|
cd $(BASEPATH) && \
|
2015-05-11 19:09:32 +00:00
|
|
|
go build -a -ldflags "-s" -o $@ ./$<
|
2015-05-10 20:43:42 +00:00
|
|
|
|
2015-05-14 09:11:30 +00:00
|
|
|
%.debug: cmd/% .gopath $(SOURCE)
|
2015-05-10 20:43:42 +00:00
|
|
|
cd $(BASEPATH) && \
|
2015-05-11 19:09:32 +00:00
|
|
|
go build -a -tags debug -ldflags "-s" -o $@ ./$<
|
2014-08-05 21:13:19 +00:00
|
|
|
|
|
|
|
clean:
|
2015-05-11 19:09:32 +00:00
|
|
|
rm -rf .gopath $(CMDS) $(CMDS_DEBUG) *.cov restic_*
|
2015-01-14 20:36:33 +00:00
|
|
|
go clean ./...
|
2015-05-10 20:43:42 +00:00
|
|
|
|
|
|
|
test: .gopath
|
|
|
|
cd $(BASEPATH) && \
|
|
|
|
go test $(GOTESTFLAGS) ./...
|
|
|
|
|
|
|
|
bench: .gopath
|
|
|
|
cd $(BASEPATH) && \
|
2015-05-11 16:26:56 +00:00
|
|
|
go test $(GOTESTFLAGS) -bench ./...
|
2015-05-10 20:43:42 +00:00
|
|
|
|
2015-05-14 09:11:30 +00:00
|
|
|
gox: .gopath $(SOURCE)
|
2015-05-10 20:43:42 +00:00
|
|
|
cd $(BASEPATH) && \
|
|
|
|
gox -verbose -os "$(GOX_OS)" ./cmd/restic
|
|
|
|
|
2015-05-11 19:09:32 +00:00
|
|
|
test-integration: .gopath restic restic.debug dirdiff
|
|
|
|
# run testsuite
|
|
|
|
PATH=.:$(PATH) ./testsuite.sh
|
|
|
|
|
|
|
|
# run sftp integration tests
|
2015-05-10 20:43:42 +00:00
|
|
|
cd $(BASEPATH)/backend && \
|
|
|
|
go test $(GOTESTFLAGS) -test.sftppath $(SFTP_PATH) ./...
|
|
|
|
|
2015-05-14 09:11:30 +00:00
|
|
|
all.cov: .gopath $(SOURCE)
|
2015-05-10 20:43:42 +00:00
|
|
|
cd $(BASEPATH) && \
|
2015-05-10 21:04:02 +00:00
|
|
|
./coverage_all.sh all.cov
|
2015-05-10 20:43:42 +00:00
|
|
|
|
|
|
|
env:
|
|
|
|
@echo export GOPATH=\"$(GOPATH)\"
|
2015-05-11 19:10:36 +00:00
|
|
|
|
|
|
|
goenv:
|
|
|
|
go env
|
|
|
|
|
|
|
|
list: .gopath
|
|
|
|
cd $(BASEPATH) && \
|
|
|
|
go list ./...
|