Makefile
bab3b75c
 # Old-skool build tools.
 #
 # Targets (see each target for more information):
 #   all: Build code.
 #   build: Build code.
54386f99
 #   check: Run unit tests.
 #   test: Run all tests.
 #   run: Run all-in-one server
bab3b75c
 #   clean: Clean up.
 
c547a10c
 OUT_DIR = _output
 OUT_PKG_DIR = Godeps/_workspace/pkg
bab3b75c
 
 export GOFLAGS
d0ca07cd
 export TESTFLAGS
bab3b75c
 
 # Build code.
 #
 # Args:
 #   WHAT: Directory names to build.  If any of these directories has a 'main'
 #     package, the build will produce executable files under $(OUT_DIR)/go/bin.
 #     If not specified, "everything" will be built.
 #   GOFLAGS: Extra flags to pass to 'go' when building.
d0ca07cd
 #   TESTFLAGS: Extra flags that should only be passed to hack/test-go.sh
bab3b75c
 #
 # Example:
 #   make
 #   make all
 #   make all WHAT=cmd/kubelet GOFLAGS=-v
 all build:
 	hack/build-go.sh $(WHAT)
 .PHONY: all build
 
54386f99
 # Build and run unit tests
bab3b75c
 #
 # 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.
d0ca07cd
 #   TESTFLAGS: Extra flags that should only be passed to hack/test-go.sh
bab3b75c
 #
 # Example:
 #   make check
 #   make check WHAT=pkg/build GOFLAGS=-v
54386f99
 check:
d0ca07cd
 	hack/test-go.sh $(WHAT) $(TESTS) $(TESTFLAGS)
54386f99
 .PHONY: check
 
432096e9
 # Build and run unit and integration tests that don't require Docker.
 #
 # Args:
 #   GOFLAGS: Extra flags to pass to 'go' when building.
d0ca07cd
 #   TESTFLAGS: Extra flags that should only be passed to hack/test-go.sh
432096e9
 #
 # Example:
 #   make check-test
 check-test: export KUBE_COVER= -cover -covermode=atomic
 check-test: export KUBE_RACE=  -race
 check-test: build check
 check-test:
 	hack/verify-gofmt.sh
d0ca07cd
 	hack/test-cmd.sh
 	KUBE_RACE=" " hack/test-integration.sh
432096e9
 .PHONY: check-test
 
54386f99
 # Build and run the complete test-suite.
 #
 # Args:
 #   GOFLAGS: Extra flags to pass to 'go' when building.
d0ca07cd
 #   TESTFLAGS: Extra flags that should only be passed to hack/test-go.sh
54386f99
 #
 # Example:
 #   make test
 #   make test GOFLAGS=-v
 test: export KUBE_COVER= -cover -covermode=atomic
 test: export KUBE_RACE=  -race
07dd7dda
 ifeq ($(SKIP_BUILD), true)
 $(info build is being skipped)
 test: check
 else
54386f99
 test: build check
fcabd4de
 endif
07dd7dda
 test:
54386f99
 	hack/test-cmd.sh
d0ca07cd
 	KUBE_RACE=" " hack/test-integration-docker.sh
54386f99
 	hack/test-end-to-end.sh
a8873051
 ifeq ($(EXTENDED),true)
 	hack/test-extended.sh
 endif
54386f99
 .PHONY: test
bab3b75c
 
 # Run All-in-one OpenShift server.
 #
 # Example:
 #   make run
 run: build
7b0f32a3
 	$(OUT_DIR)/local/go/bin/openshift start
bab3b75c
 .PHONY: run
 
 # Remove all build artifacts.
 #
 # Example:
 #   make clean
 clean:
c547a10c
 	rm -rf $(OUT_DIR) $(OUT_PKG_DIR)
bab3b75c
 .PHONY: clean
 
366baa89
 # Build an official release of OpenShift, including the official images.
 #
 # Example:
 #   make clean
 release: clean
 	hack/build-release.sh
 	hack/build-images.sh
 .PHONY: release