| # General | |
| WORKDIR = $(PWD) | |
| # Go parameters | |
| GOCMD = go | |
| GOTEST = $(GOCMD) test -v | |
| # Git config | |
| GIT_VERSION ?= | |
| GIT_DIST_PATH ?= $(PWD)/.git-dist | |
| GIT_REPOSITORY = http://github.com/git/git.git | |
| # Coverage | |
| COVERAGE_REPORT = coverage.txt | |
| COVERAGE_MODE = atomic | |
| ifneq ($(origin CI), undefined) | |
| WORKDIR := $(GOPATH)/src/gopkg.in/src-d/go-git.v4 | |
| endif | |
| build-git: | |
| @if [ -f $(GIT_DIST_PATH)/git ]; then \ | |
| echo "nothing to do, using cache $(GIT_DIST_PATH)"; \ | |
| else \ | |
| git clone $(GIT_REPOSITORY) -b $(GIT_VERSION) --depth 1 --single-branch $(GIT_DIST_PATH); \ | |
| cd $(GIT_DIST_PATH); \ | |
| make configure; \ | |
| ./configure; \ | |
| make all; \ | |
| fi | |
| test: | |
| @cd $(WORKDIR); \ | |
| $(GOTEST) ./... | |
| test-coverage: | |
| @cd $(WORKDIR); \ | |
| echo "" > $(COVERAGE_REPORT); \ | |
| $(GOTEST) -coverprofile=$(COVERAGE_REPORT) -coverpkg=./... -covermode=$(COVERAGE_MODE) ./... | |
| clean: | |
| rm -rf $(GIT_DIST_PATH) |