1
1
include ../common.mk
2
2
3
- CLI_DIR = $(realpath $(CURDIR ) /../src/github.com/docker/cli)
4
- ENGINE_DIR = $(realpath $(CURDIR ) /../src/github.com/docker/docker)
5
- BUILDX_DIR = $(realpath $(CURDIR ) /../src/github.com/docker/buildx)
3
+ CLI_DIR = $(realpath $(CURDIR ) /../src/github.com/docker/cli)
4
+ ENGINE_DIR = $(realpath $(CURDIR ) /../src/github.com/docker/docker)
5
+ BUILDX_DIR = $(realpath $(CURDIR ) /../src/github.com/docker/buildx)
6
6
7
7
GEN_STATIC_VER =$(shell ./gen-static-ver $(CLI_DIR ) $(VERSION ) )
8
8
HASH_CMD =docker run -v $(CURDIR ) :/sum -w /sum debian:jessie bash hash_files
@@ -40,12 +40,16 @@ static: static-linux cross-mac cross-win cross-arm ## create all static packages
40
40
41
41
.PHONY : static-linux
42
42
static-linux : static-cli static-engine static-buildx-plugin # # create tgz
43
+ # docker cli binaries
43
44
mkdir -p build/linux/docker
44
45
cp $(CLI_DIR ) /build/docker build/linux/docker/
46
+
47
+ # docker engine binaries
45
48
for f in dockerd containerd ctr containerd-shim containerd-shim-runc-v2 docker-init docker-proxy runc; do \
46
49
cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f build/linux/docker/$$f; \
47
50
done
48
51
tar -C build/linux -c -z -f build/linux/docker-$(GEN_STATIC_VER).tgz docker
52
+ $(RM) -r build/linux/docker
49
53
50
54
# extra binaries for running rootless
51
55
mkdir -p build/linux/docker-rootless-extras
@@ -55,8 +59,9 @@ static-linux: static-cli static-engine static-buildx-plugin ## create tgz
55
59
fi \
56
60
done
57
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
58
63
59
- # buildx
64
+ # docker buildx
60
65
tar -C $(BUILDX_DIR)/bin -c -z -f build/linux/docker-buildx-plugin-$(DOCKER_BUILDX_REF:v%=%).tgz docker-buildx
61
66
62
67
.PHONY : hash_files
@@ -70,32 +75,42 @@ buildx:
70
75
71
76
.PHONY : cross-mac
72
77
cross-mac : buildx
78
+ # docker cli binaries
73
79
cd $(CLI_DIR ) && VERSION=$(GEN_STATIC_VER ) docker buildx bake --set binary.platform=darwin/amd64,darwin/arm64 binary
74
80
dest=$$ PWD/build/mac; cd $(CLI_DIR ) /build && for platform in * ; do \
75
81
arch=$$(echo $$platform | cut -d_ -f2 ) ; \
76
82
mkdir -p $$ dest/$$ arch/docker; \
77
83
cp $$ platform/docker-darwin-* $$ dest/$$ arch/docker/docker && \
78
84
tar -C $$ dest/$$ arch -c -z -f $$ dest/$$ arch/docker-$(GEN_STATIC_VER ) .tgz docker; \
85
+ $(RM ) -r $$ dest/$$ arch/docker
79
86
done
80
87
81
88
.PHONY : cross-win
82
89
cross-win : cross-win-engine
83
- cd $( CLI_DIR ) && VERSION= $( GEN_STATIC_VER ) docker buildx bake --set binary.platform=windows/amd64 binary
90
+ # docker cli binaries
84
91
mkdir -p build/win/amd64/docker
92
+ cd $(CLI_DIR ) && VERSION=$(GEN_STATIC_VER ) docker buildx bake --set binary.platform=windows/amd64 binary
85
93
cp $(CLI_DIR ) /build/docker-windows-amd64.exe build/win/amd64/docker/docker.exe
94
+
95
+ # docker engine binaries
86
96
cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/dockerd.exe build/win/amd64/docker/dockerd.exe
87
97
cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/docker-proxy.exe build/win/amd64/docker/docker-proxy.exe
88
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'
89
99
$(CHOWN) -R $(shell id -u):$(shell id -g) build
90
100
101
+ # clean up temporary directories
102
+ $(RM) -r build/win/amd64/docker
103
+
91
104
.PHONY : cross-arm
92
105
cross-arm : cross-all-cli # # create tgz with linux armhf client only
93
106
mkdir -p build/arm/docker
94
107
cp $(CLI_DIR ) /build/docker-linux-arm build/arm/docker/docker
95
108
tar -C build/arm -c -z -f build/arm/docker-$(GEN_STATIC_VER ) .tgz docker
109
+ $(RM ) -r build/arm/docker
96
110
97
111
.PHONY : static-cli
98
112
static-cli :
113
+ # TODO(thaJeztah) check if CGO_ENABLED variable is correct here
99
114
cd $(CLI_DIR ) && VERSION=$(GEN_STATIC_VER ) docker buildx bake --set binary.platform=$(TARGETPLATFORM ) --set binary.args.CGO_ENABLED=$(CGO_ENABLED ) binary
100
115
101
116
.PHONY : static-engine
0 commit comments