Makefile 1.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# Copyright 2016 The Kubernetes Authors All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

15 16 17
GOOS ?= $(shell go env GOOS)
GOARCH ?= $(shell go env GOARCH)
BUILD_DIR ?= ./out
18
GOPATH ?= $(shell pwd)/.gopath
19
REPOPATH ?= k8s.io/minikube
20
export GO15VENDOREXPERIMENT=1
21 22 23 24 25

clean:
	rm -rf $(GOPATH)
	rm -rf $(BUILD_DIR)

26
.gopath:
27
	mkdir -p $(shell dirname $(GOPATH)/src/$(REPOPATH))
28
	ln -s -f $(shell pwd) $(GOPATH)/src/$(REPOPATH)
29

30
out/minikube: out/minikube-$(GOOS)-$(GOARCH)
31 32
	cp $(BUILD_DIR)/minikube-$(GOOS)-$(GOARCH) $(BUILD_DIR)/minikube

33 34 35 36 37 38
out/localkube: .gopath
ifeq ($(GOOS),linux)
	CGO_ENABLED=1 go build -v -x -ldflags="-s"-o $(BUILD_DIR)/localkube ./cmd/localkube
else
	docker run -w /go/src/k8s.io/minikube -e GOPATH=/go -v $(shell pwd):/go/src/k8s.io/minikube golang:1.6 make out/localkube
endif
39

40
out/minikube-$(GOOS)-$(GOARCH): .gopath pkg/minikube/cluster/localkubecontents.go
41
	CGO_ENABLED=0 GOARCH=$(GOARCH) GOOS=$(GOOS) go build --installsuffix cgo -a -o $(BUILD_DIR)/minikube-$(GOOS)-$(GOARCH) ./cmd/minikube
42

D
dlorenc 已提交
43
.PHONY: integration
44
integration: out/minikube
45
	go test -v ./test/integration --tags=integration
46 47

.PHONY: test
48
test: .gopath
D
dlorenc 已提交
49
	./test.sh
50

51
pkg/minikube/cluster/localkubecontents.go: out/localkube
52
	go-bindata -nomemcopy -o pkg/minikube/cluster/localkubecontents.go -pkg cluster ./out/localkube