1212# See the License for the specific language governing permissions and
1313# limitations under the License.
1414
15+ CMDS =smbplugin
1516PKG = github.com/kubernetes-csi/csi-driver-smb
1617GINKGO_FLAGS = -ginkgo.v
1718GO111MODULE = on
1819GOPATH ?= $(shell go env GOPATH)
1920GOBIN ?= $(GOPATH ) /bin
2021DOCKER_CLI_EXPERIMENTAL = enabled
21- IMAGE_NAME ?= smb-csi
22+ IMAGENAME ?= smb-csi
2223export GOPATH GOBIN GO111MODULE DOCKER_CLI_EXPERIMENTAL
2324
2425include release-tools/build.make
@@ -34,11 +35,12 @@ ifndef PUBLISH
3435override IMAGE_VERSION := e2e-$(GIT_COMMIT )
3536endif
3637endif
37- IMAGE_TAG = $(REGISTRY ) /$(IMAGE_NAME ) :$(IMAGE_VERSION )
38- IMAGE_TAG_LATEST = $(REGISTRY ) /$(IMAGE_NAME ) :latest
38+ IMAGE_TAG = $(REGISTRY ) /$(IMAGENAME ) :$(IMAGE_VERSION )
39+ IMAGE_TAG_LATEST = $(REGISTRY ) /$(IMAGENAME ) :latest
3940BUILD_DATE ?= $(shell date -u +"% Y-% m-% dT% H:% M:% SZ")
40- LDFLAGS ?= "-X ${PKG}/pkg/smb.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/smb.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/smb.buildDate=${BUILD_DATE} -s -w -extldflags '-static'"
41- E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY ) /$(IMAGE_NAME ) --set image.smb.tag=$(IMAGE_VERSION ) --set controller.dnsPolicy=ClusterFirstWithHostNet --set linux.dnsPolicy=ClusterFirstWithHostNet
41+ LDFLAGS = -X ${PKG}/pkg/smb.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/smb.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/smb.buildDate=${BUILD_DATE}
42+ EXT_LDFLAGS = -s -w -extldflags "-static"
43+ E2E_HELM_OPTIONS ?= --set image.smb.repository=$(REGISTRY ) /$(IMAGENAME ) --set image.smb.tag=$(IMAGE_VERSION ) --set controller.dnsPolicy=ClusterFirstWithHostNet --set linux.dnsPolicy=ClusterFirstWithHostNet
4244E2E_HELM_OPTIONS += ${EXTRA_HELM_OPTIONS}
4345# Generate all combination of all OS, ARCH, and OSVERSIONS for iteration
4446ALL_OS = linux windows
@@ -120,39 +122,39 @@ e2e-teardown:
120122
121123.PHONY : smb
122124smb :
123- CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH ) go build -a -ldflags " ${LDFLAGS} " -mod vendor -o _output/${ARCH} /smbplugin ./pkg /smbplugin
125+ CGO_ENABLED=0 GOOS=linux GOARCH=$(ARCH ) go build -a -ldflags " ${LDFLAGS} ${EXT_LDFLAGS} " -mod vendor -o _output/${ARCH} /smbplugin ./cmd /smbplugin
124126
125127.PHONY : smb-armv7
126128smb-armv7 :
127- CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -a -ldflags " ${LDFLAGS} " -mod vendor -o _output/arm/v7/smbplugin ./pkg /smbplugin
129+ CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -a -ldflags " ${LDFLAGS} ${EXT_LDFLAGS} " -mod vendor -o _output/arm/v7/smbplugin ./cmd /smbplugin
128130
129131.PHONY : smb-windows
130132smb-windows :
131- CGO_ENABLED=0 GOOS=windows go build -a -ldflags " ${LDFLAGS} " -mod vendor -o _output/${ARCH} /smbplugin.exe ./pkg /smbplugin
133+ CGO_ENABLED=0 GOOS=windows go build -a -ldflags " ${LDFLAGS} ${EXT_LDFLAGS} " -mod vendor -o _output/${ARCH} /smbplugin.exe ./cmd /smbplugin
132134
133135.PHONY : smb-darwin
134136smb-darwin :
135- CGO_ENABLED=0 GOOS=darwin go build -a -ldflags " ${LDFLAGS} " -mod vendor -o _output/${ARCH} /smbplugin ./pkg /smbplugin
137+ CGO_ENABLED=0 GOOS=darwin go build -a -ldflags " ${LDFLAGS} ${EXT_LDFLAGS} " -mod vendor -o _output/${ARCH} /smbplugin ./cmd /smbplugin
136138
137139.PHONY : container
138140container : smb
139- docker build --no-cache -t $(IMAGE_TAG ) --output=type=docker -f ./pkg /smbplugin/Dockerfile .
141+ docker build --no-cache -t $(IMAGE_TAG ) --output=type=docker -f ./cmd /smbplugin/Dockerfile .
140142
141143.PHONY : container-linux
142144container-linux :
143145 docker buildx build --pull --output=type=$(OUTPUT_TYPE ) --platform=" linux/$( ARCH) " \
144- -t $(IMAGE_TAG ) -linux-$(ARCH ) --build-arg ARCH=$(ARCH ) -f ./pkg /smbplugin/Dockerfile .
146+ -t $(IMAGE_TAG ) -linux-$(ARCH ) --build-arg ARCH=$(ARCH ) -f ./cmd /smbplugin/Dockerfile .
145147
146148.PHONY : container-linux-armv7
147149container-linux-armv7 :
148150 docker buildx build --pull --output=type=$(OUTPUT_TYPE ) --platform=" linux/arm/v7" \
149- -t $(IMAGE_TAG ) -linux-arm-v7 --build-arg ARCH=arm/v7 -f ./pkg /smbplugin/Dockerfile .
151+ -t $(IMAGE_TAG ) -linux-arm-v7 --build-arg ARCH=arm/v7 -f ./cmd /smbplugin/Dockerfile .
150152
151153.PHONY : container-windows
152154container-windows :
153155 docker buildx build --pull --output=type=$(OUTPUT_TYPE ) --platform=" windows/$( ARCH) " \
154156 -t $(IMAGE_TAG ) -windows-$(OSVERSION ) -$(ARCH ) --build-arg OSVERSION=$(OSVERSION ) \
155- --build-arg ARCH=$(ARCH ) -f ./pkg /smbplugin/Windows.Dockerfile .
157+ --build-arg ARCH=$(ARCH ) -f ./cmd /smbplugin/Windows.Dockerfile .
156158
157159.PHONY : container-all
158160container-all : smb-windows
0 commit comments