14
14
GOOS ?= $(shell go env GOOS)
15
15
GOARCH = amd64
16
16
BUILD_DIR ?= ./out
17
- ORG : = github.com/GoogleContainerTools
18
- PROJECT : = skaffold
17
+ ORG = github.com/GoogleContainerTools
18
+ PROJECT = skaffold
19
19
REPOPATH ?= $(ORG ) /$(PROJECT )
20
20
RELEASE_BUCKET ?= $(PROJECT )
21
21
GSC_BUILD_PATH ?= gs://$(RELEASE_BUCKET ) /builds/$(COMMIT )
@@ -28,10 +28,11 @@ GCP_PROJECT ?= k8s-skaffold
28
28
GKE_CLUSTER_NAME ?= integration-tests
29
29
GKE_ZONE ?= us-central1-a
30
30
31
- SUPPORTED_PLATFORMS : = linux-$(GOARCH ) darwin-$(GOARCH ) windows-$(GOARCH ) .exe
31
+ SUPPORTED_PLATFORMS = linux-$(GOARCH ) darwin-$(GOARCH ) windows-$(GOARCH ) .exe
32
32
BUILD_PACKAGE = $(REPOPATH ) /cmd/skaffold
33
33
34
- SKAFFOLD_TEST_PACKAGES := $(shell go list ./... | grep -v diag)
34
+ SKAFFOLD_TEST_PACKAGES = $(shell go list ./... | grep -v diag)
35
+ GO_FILES = $(shell find . -type f -name '* .go' -not -path "./vendor/* " -not -path "./pkg/diag/* ")
35
36
36
37
VERSION_PACKAGE = $(REPOPATH ) /pkg/skaffold/version
37
38
COMMIT = $(shell git rev-parse HEAD)
@@ -45,16 +46,13 @@ endif
45
46
export GO111MODULE = on
46
47
export GOFLAGS = -mod=vendor
47
48
48
- GO_GCFLAGS := "all=-trimpath=${PWD}"
49
- GO_ASMFLAGS := "all=-trimpath=${PWD}"
50
-
51
49
LDFLAGS_linux = -static
52
50
LDFLAGS_darwin =
53
51
LDFLAGS_windows =
54
52
55
- GO_BUILD_TAGS_linux : = "osusergo netgo static_build release"
56
- GO_BUILD_TAGS_darwin : = "release"
57
- GO_BUILD_TAGS_windows : = "release"
53
+ GO_BUILD_TAGS_linux = "osusergo netgo static_build release"
54
+ GO_BUILD_TAGS_darwin = "release"
55
+ GO_BUILD_TAGS_windows = "release"
58
56
59
57
GO_LDFLAGS = -X $(VERSION_PACKAGE ) .version=$(VERSION )
60
58
GO_LDFLAGS += -X $(VERSION_PACKAGE ) .buildDate=$(shell date +'% Y-% m-% dT% H:% M:% SZ')
@@ -66,16 +64,23 @@ GO_LDFLAGS_windows =" $(GO_LDFLAGS) -extldflags \"$(LDFLAGS_windows)\""
66
64
GO_LDFLAGS_darwin =" $(GO_LDFLAGS ) -extldflags \"$(LDFLAGS_darwin ) \""
67
65
GO_LDFLAGS_linux =" $(GO_LDFLAGS ) -extldflags \"$(LDFLAGS_linux ) \""
68
66
69
- GO_FILES := $(shell find . -type f -name '* .go' -not -path "./vendor/* " -not -path "./pkg/diag/* ")
70
- DEPS_DIGEST := $(shell ./hack/skaffold-deps-sha1.sh)
67
+ STATIK_FILES = cmd/skaffold/app/cmd/statik/statik.go
68
+
69
+ # Build for local development.
70
+ $(BUILD_DIR ) /$(PROJECT ) : $(STATIK_FILES ) $(GO_FILES ) $(BUILD_DIR )
71
+ GOOS=$(GOOS ) GOARCH=$(GOARCH ) CGO_ENABLED=1 go build -tags $(GO_BUILD_TAGS_$(GOOS ) ) -ldflags $(GO_LDFLAGS_$(GOOS ) ) -o $@ $(BUILD_PACKAGE )
72
+
73
+ .PHONY : install
74
+ install : $(BUILD_DIR ) /$(PROJECT )
75
+ cp $(BUILD_DIR ) /$(PROJECT ) $(GOPATH ) /bin/$(PROJECT )
71
76
72
- $( BUILD_DIR ) / $( PROJECT ) : $( BUILD_DIR ) / $( PROJECT ) - $( GOOS ) - $( GOARCH )
73
- cp $(BUILD_DIR ) /$(PROJECT ) -$(GOOS ) - $( GOARCH ) $@
77
+ # Build for a release.
78
+ .PRECIOUS : $(foreach platform, $( SUPPORTED_PLATFORMS ) , $( BUILD_DIR ) /$(PROJECT ) -$(platform ) )
74
79
75
- $( BUILD_DIR ) / $( PROJECT ) - $( GOOS ) - $( GOARCH ) : generate-statik $( GO_FILES ) $( BUILD_DIR )
76
- GOOS= $( GOOS ) GOARCH= $( GOARCH ) CGO_ENABLED=1 go build -tags $( GO_BUILD_TAGS_ $( GOOS ) ) -ldflags $( GO_LDFLAGS_ $( GOOS ) ) -gcflags $( GO_GCFLAGS ) -asmflags $( GO_ASMFLAGS ) -o $@ $( BUILD_PACKAGE )
80
+ .PHONY : cross
81
+ cross : $( foreach platform, $( SUPPORTED_PLATFORMS ) , $( BUILD_DIR ) / $( PROJECT ) - $( platform ) .sha256 )
77
82
78
- $(BUILD_DIR ) /$(PROJECT ) -% -$(GOARCH ) : generate-statik $(GO_FILES ) $(BUILD_DIR )
83
+ $(BUILD_DIR ) /$(PROJECT ) -% -$(GOARCH ) : $( STATIK_FILES ) $(GO_FILES ) $(BUILD_DIR )
79
84
docker build \
80
85
--build-arg PROJECT=$(REPOPATH ) \
81
86
--build-arg TARGETS=$* /$(GOARCH ) \
@@ -99,11 +104,6 @@ $(BUILD_DIR)/VERSION: $(BUILD_DIR)
99
104
$(BUILD_DIR ) :
100
105
mkdir -p $(BUILD_DIR )
101
106
102
- .PRECIOUS : $(foreach platform, $(SUPPORTED_PLATFORMS ) , $(BUILD_DIR ) /$(PROJECT ) -$(platform ) )
103
-
104
- .PHONY : cross
105
- cross : $(foreach platform, $(SUPPORTED_PLATFORMS ) , $(BUILD_DIR ) /$(PROJECT ) -$(platform ) .sha256)
106
-
107
107
.PHONY : test
108
108
test : $(BUILD_DIR )
109
109
@ ./hack/gotest.sh -count=1 -race -short -timeout=90s $(SKAFFOLD_TEST_PACKAGES )
@@ -122,12 +122,8 @@ checks: $(BUILD_DIR)
122
122
quicktest :
123
123
@ ./hack/gotest.sh -short -timeout=60s $(SKAFFOLD_TEST_PACKAGES )
124
124
125
- .PHONY : install
126
- install : $(GO_FILES ) $(BUILD_DIR )
127
- GOOS=$(GOOS ) GOARCH=$(GOARCH ) CGO_ENABLED=1 go install -tags $(GO_BUILD_TAGS_$(GOOS ) ) -ldflags $(GO_LDFLAGS_$(GOOS ) ) -gcflags $(GO_GCFLAGS ) -asmflags $(GO_ASMFLAGS ) $(BUILD_PACKAGE )
128
-
129
125
.PHONY : integration
130
- integration : generate-statik install
126
+ integration : install
131
127
ifeq ($(GCP_ONLY ) ,true)
132
128
gcloud container clusters get-credentials \
133
129
$(GKE_CLUSTER_NAME) \
@@ -166,6 +162,7 @@ clean:
166
162
167
163
.PHONY : build_deps
168
164
build_deps :
165
+ $(eval DEPS_DIGEST := $(shell ./hack/skaffold-deps-sha1.sh) )
169
166
docker build \
170
167
-f deploy/skaffold/Dockerfile.deps \
171
168
-t gcr.io/$(GCP_PROJECT ) /build_deps:$(DEPS_DIGEST ) \
@@ -243,6 +240,7 @@ build-docs-preview:
243
240
generate-schemas :
244
241
go run hack/schemas/main.go
245
242
246
- .PHONY : generate-statik
247
- generate-statik :
243
+ # static files
244
+
245
+ $(STATIK_FILES ) : go.mod docs/content/en/schemas/*
248
246
hack/generate-statik.sh
0 commit comments