@@ -39,30 +39,31 @@ clean: ## remove build artifacts
39
39
static : static-linux cross-mac cross-win cross-arm # # create all static packages
40
40
41
41
.PHONY : static-linux
42
+ static-linux : BUILD_DIR=build/linux
42
43
static-linux : static-cli static-engine static-buildx-plugin # # create tgz
43
44
# docker cli binaries
44
- mkdir -p build/linux /docker
45
- cp $(CLI_DIR ) /build/docker build/linux /docker/
45
+ mkdir -p $( BUILD_DIR ) /docker
46
+ cp $(CLI_DIR ) /build/docker $( BUILD_DIR ) /docker/
46
47
47
48
# docker engine binaries
48
49
for f in dockerd containerd ctr containerd-shim containerd-shim-runc-v2 docker-init docker-proxy runc; do \
49
- cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f build/linux /docker/$$f; \
50
+ cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f $(BUILD_DIR) /docker/$$f; \
50
51
done
51
- tar -C build/linux -c -z -f build/linux /docker-$(GEN_STATIC_VER).tgz docker
52
- $(RM) -r build/linux /docker
52
+ tar -C $(BUILD_DIR) -c -z -f $(BUILD_DIR) /docker-$(GEN_STATIC_VER).tgz docker
53
+ $(RM) -r $(BUILD_DIR) /docker
53
54
54
55
# extra binaries for running rootless
55
- mkdir -p build/linux /docker-rootless-extras
56
+ mkdir -p $(BUILD_DIR) /docker-rootless-extras
56
57
for f in rootlesskit rootlesskit-docker-proxy dockerd-rootless.sh dockerd-rootless-setuptool.sh vpnkit; do \
57
58
if [ -f $(ENGINE_DIR)/bundles/binary-daemon/$$f ]; then \
58
- cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f build/linux /docker-rootless-extras/$$f; \
59
+ cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f $(BUILD_DIR) /docker-rootless-extras/$$f; \
59
60
fi \
60
61
done
61
- tar -C build/linux -c -z -f build/linux /docker-rootless-extras-$(GEN_STATIC_VER).tgz docker-rootless-extras
62
- $(RM) -r build/linux /docker-rootless-extras
62
+ tar -C $(BUILD_DIR) -c -z -f $(BUILD_DIR) /docker-rootless-extras-$(GEN_STATIC_VER).tgz docker-rootless-extras
63
+ $(RM) -r $(BUILD_DIR) /docker-rootless-extras
63
64
64
65
# docker buildx
65
- tar -C $(BUILDX_DIR)/bin -c -z -f build/linux /docker-buildx-plugin-$(DOCKER_BUILDX_REF:v%=%).tgz docker-buildx
66
+ tar -C $(BUILDX_DIR)/bin -c -z -f $(BUILD_DIR) /docker-buildx-plugin-$(DOCKER_BUILDX_REF:v%=%).tgz docker-buildx
66
67
67
68
.PHONY : hash_files
68
69
hash_files :
@@ -86,27 +87,29 @@ cross-mac: buildx
86
87
done
87
88
88
89
.PHONY : cross-win
90
+ cross-win : BUILD_DIR=build/win/amd64
89
91
cross-win : cross-win-engine
90
92
# docker cli binaries
91
- mkdir -p build/win/amd64 /docker
93
+ mkdir -p $( BUILD_DIR ) /docker
92
94
cd $(CLI_DIR ) && VERSION=$(GEN_STATIC_VER ) docker buildx bake --set binary.platform=windows/amd64 binary
93
- cp $(CLI_DIR ) /build/docker-windows-amd64.exe build/win/amd64 /docker/docker.exe
95
+ cp $(CLI_DIR ) /build/docker-windows-amd64.exe $( BUILD_DIR ) /docker/docker.exe
94
96
95
97
# docker engine binaries
96
- cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/dockerd.exe build/win/amd64 /docker/dockerd.exe
97
- cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/docker-proxy.exe build/win/amd64 /docker/docker-proxy.exe
98
- docker run --rm -v $(CURDIR)/build/win/amd64 :/v -w /v alpine sh -c 'apk update&&apk add zip&&zip -r docker-$(GEN_STATIC_VER).zip docker'
98
+ cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/dockerd.exe $(BUILD_DIR) /docker/dockerd.exe
99
+ cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/docker-proxy.exe $(BUILD_DIR) /docker/docker-proxy.exe
100
+ docker run --rm -v $(CURDIR)/$(BUILD_DIR) :/v -w /v alpine sh -c 'apk update&&apk add zip&&zip -r docker-$(GEN_STATIC_VER).zip docker'
99
101
$(CHOWN) -R $(shell id -u):$(shell id -g) build
100
102
101
103
# clean up temporary directories
102
- $(RM) -r build/win/amd64 /docker
104
+ $(RM) -r $(BUILD_DIR) /docker
103
105
104
106
.PHONY : cross-arm
107
+ cross-arm : BUILD_DIR=build/arm
105
108
cross-arm : cross-all-cli # # create tgz with linux armhf client only
106
- mkdir -p build/arm /docker
107
- cp $(CLI_DIR ) /build/docker-linux-arm build/arm /docker/docker
108
- tar -C build/arm -c -z -f build/arm /docker-$(GEN_STATIC_VER ) .tgz docker
109
- $(RM ) -r build/arm /docker
109
+ mkdir -p $( BUILD_DIR ) /docker
110
+ cp $(CLI_DIR ) /build/docker-linux-arm $( BUILD_DIR ) /docker/docker
111
+ tar -C $( BUILD_DIR ) -c -z -f $( BUILD_DIR ) /docker-$(GEN_STATIC_VER ) .tgz docker
112
+ $(RM ) -r $( BUILD_DIR ) /docker
110
113
111
114
.PHONY : static-cli
112
115
static-cli :
0 commit comments