2014-11-27 15:41:08 +01:00
|
|
|
# Old-skool build tools.
|
|
|
|
|
#
|
|
|
|
|
# Targets (see each target for more information):
|
|
|
|
|
# all: Build code.
|
|
|
|
|
# build: Build code.
|
|
|
|
|
# check: Run tests.
|
|
|
|
|
# test: Run tests.
|
|
|
|
|
# clean: Clean up.
|
2015-11-06 11:37:10 +01:00
|
|
|
# release: Build release.
|
2014-11-27 15:41:08 +01:00
|
|
|
|
|
|
|
|
OUT_DIR = _output
|
|
|
|
|
OUT_PKG_DIR = Godeps/_workspace/pkg
|
|
|
|
|
|
|
|
|
|
export GOFLAGS
|
|
|
|
|
|
|
|
|
|
# Build code.
|
|
|
|
|
#
|
|
|
|
|
# Args:
|
|
|
|
|
# GOFLAGS: Extra flags to pass to 'go' when building.
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# make
|
|
|
|
|
# make all
|
|
|
|
|
all build:
|
|
|
|
|
hack/build-go.sh
|
|
|
|
|
.PHONY: all build
|
|
|
|
|
|
2015-08-25 16:11:55 +02:00
|
|
|
# Verify code is properly organized.
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# make verify
|
|
|
|
|
verify: build
|
|
|
|
|
hack/verify-gofmt.sh
|
|
|
|
|
hack/verify-golint.sh || true
|
|
|
|
|
hack/verify-govet.sh || true
|
|
|
|
|
.PHONY: verify
|
|
|
|
|
|
|
|
|
|
# Install travis dependencies
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# make install-travis
|
|
|
|
|
install-travis:
|
|
|
|
|
hack/install-tools.sh
|
|
|
|
|
.PHONY: install-travis
|
|
|
|
|
|
2015-11-06 11:37:10 +01:00
|
|
|
# Build and run unit tests
|
2014-11-27 15:41:08 +01:00
|
|
|
#
|
|
|
|
|
# Args:
|
|
|
|
|
# WHAT: Directory names to test. All *_test.go files under these
|
|
|
|
|
# directories will be run. If not specified, "everything" will be tested.
|
|
|
|
|
# TESTS: Same as WHAT.
|
|
|
|
|
# GOFLAGS: Extra flags to pass to 'go' when building.
|
2015-11-06 11:37:10 +01:00
|
|
|
# TESTFLAGS: Extra flags that should only be passed to hack/test-go.sh
|
2014-11-27 15:41:08 +01:00
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# make check
|
|
|
|
|
# make test
|
|
|
|
|
# make check WHAT=pkg/build GOFLAGS=-v
|
2015-11-06 11:37:10 +01:00
|
|
|
check:
|
|
|
|
|
hack/test-go.sh $(WHAT) $(TESTS) $(TESTFLAGS)
|
|
|
|
|
.PHONY: check
|
2014-11-27 15:41:08 +01:00
|
|
|
|
|
|
|
|
# Remove all build artifacts.
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# make clean
|
|
|
|
|
clean:
|
|
|
|
|
rm -rf $(OUT_DIR) $(OUT_PKG_DIR)
|
|
|
|
|
.PHONY: clean
|
2015-11-06 11:37:10 +01:00
|
|
|
|
|
|
|
|
# Build the release.
|
|
|
|
|
#
|
|
|
|
|
# Example:
|
|
|
|
|
# make release
|
|
|
|
|
release: clean
|
|
|
|
|
hack/build-release.sh
|
|
|
|
|
hack/extract-release.sh
|
|
|
|
|
.PHONY: release
|