38 lines
828 B
Makefile
38 lines
828 B
Makefile
|
# General
|
||
|
WORKDIR = $(PWD)
|
||
|
|
||
|
# Go parameters
|
||
|
GOCMD = go
|
||
|
GOTEST = $(GOCMD) test
|
||
|
|
||
|
# Git config
|
||
|
GIT_VERSION ?=
|
||
|
GIT_DIST_PATH ?= $(PWD)/.git-dist
|
||
|
GIT_REPOSITORY = http://github.com/git/git.git
|
||
|
|
||
|
# Coverage
|
||
|
COVERAGE_REPORT = coverage.out
|
||
|
COVERAGE_MODE = count
|
||
|
|
||
|
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:
|
||
|
@echo "running against `git version`"; \
|
||
|
$(GOTEST) ./...
|
||
|
|
||
|
test-coverage:
|
||
|
@echo "running against `git version`"; \
|
||
|
echo "" > $(COVERAGE_REPORT); \
|
||
|
$(GOTEST) -coverprofile=$(COVERAGE_REPORT) -coverpkg=./... -covermode=$(COVERAGE_MODE) ./...
|
||
|
|
||
|
clean:
|
||
|
rm -rf $(GIT_DIST_PATH)
|