Skip to content

Commit 9a1e7a8

Browse files
committed
try again with regular depends targets
Signed-off-by: Sebastiaan van Stijn <[email protected]>
1 parent 60bd7fc commit 9a1e7a8

File tree

1 file changed

+51
-43
lines changed

1 file changed

+51
-43
lines changed

static/Makefile

Lines changed: 51 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
include ../common.mk
22

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-
COMPOSE_DIR=$(realpath $(CURDIR)/../src/github.com/docker/compose)
3+
CLI_DIR = $(realpath $(CURDIR)/../src/github.com/docker/cli)
4+
ENGINE_DIR = $(realpath $(CURDIR)/../src/github.com/docker/docker)
5+
COMPOSE_DIR = $(realpath $(CURDIR)/../src/github.com/docker/compose)
6+
BUILDX_DIR = $(realpath $(CURDIR)/../src/github.com/docker/buildx)
77

8-
CLI_VERSION=$(shell ./gen-static-ver $(CLI_DIR) $(VERSION))
9-
ENGINE_VERSION=$(shell ./gen-static-ver $(ENGINE_DIR) $(VERSION))
10-
CONTAINERD_PKG_VER=$(shell ./gen-containerd-ver $(ENGINE_DIR) $(CONTAINERD_VERSION))
8+
CLI_VERSION = $(shell ./gen-static-ver $(CLI_DIR) $(VERSION))
9+
ENGINE_VERSION = $(shell ./gen-static-ver $(ENGINE_DIR) $(VERSION))
10+
CONTAINERD_PKG_VER = $(shell ./gen-containerd-ver $(ENGINE_DIR) $(CONTAINERD_VERSION))
1111

1212
HASH_CMD=docker run -v $(CURDIR):/sum -w /sum debian:jessie bash hash_files
1313
DIR_TO_HASH:=build/linux
@@ -53,20 +53,23 @@ static-linux: static-cli static-engine static-buildx-plugin static-compose-plugi
5353
mkdir -p build/linux/docker-cli
5454
cp $(CLI_DIR)/build/docker build/linux/docker-cli/
5555
tar -C build/linux -c -z -f build/linux/docker-cli-$(CLI_VERSION).tgz docker-cli
56+
rm -r build/linux/docker-cli
5657

5758
# docker engine binaries
5859
mkdir -p build/linux/docker-engine
5960
for f in dockerd docker-init docker-proxy; do \
6061
cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f build/linux/docker-engine/$$f; \
6162
done
6263
tar -C build/linux -c -z -f build/linux/docker-engine-$(ENGINE_VERSION).tgz docker-engine
64+
rm -r build/linux/docker-engine
6365

6466
# containerd binaries
6567
mkdir -p build/linux/containerd
6668
for f in containerd ctr containerd-shim-runc-v2 runc; do \
6769
cp -L $(ENGINE_DIR)/bundles/binary-daemon/$$f build/linux/containerd/$$f; \
6870
done
6971
tar -C build/linux -c -z -f build/linux/containerd-$(CONTAINERD_PKG_VER).tgz containerd
72+
rm -r build/linux/containerd
7073

7174
# extra binaries for running rootless
7275
mkdir -p build/linux/docker-rootless-extras
@@ -76,10 +79,13 @@ static-linux: static-cli static-engine static-buildx-plugin static-compose-plugi
7679
fi \
7780
done
7881
tar -C build/linux -c -z -f build/linux/docker-rootless-extras-$(ENGINE_VERSION).tgz docker-rootless-extras
82+
rm -r build/linux/docker-rootless-extras
7983

80-
# compose, buildx
84+
# docker compose
8185
tar -C "$(COMPOSE_DIR)"/bin/ -c -z -f build/linux/docker-compose-plugin-"$(DOCKER_COMPOSE_REF:v%=%)".tgz docker-compose
82-
tar -C "$(BUILDX_DIR)"/bin/ -c -z -f build/linux/docker-buildx-plugin-"$(DOCKER_BUILDX_REF:v%=%)".tgz docker-buildx
86+
87+
# docker buildx
88+
tar -C "$(BUILDX_DIR)"/bin/ -c -z -f build/linux/docker-buildx-plugin-"$(DOCKER_BUILDX_REF:v%=%)".tgz docker-buildx
8389

8490
.PHONY: hash_files
8591
hash_files:
@@ -96,70 +102,76 @@ cross-mac: cross-mac-amd64 cross-mac-arm64
96102

97103
.PHONY: cross-mac-amd64
98104
cross-mac-amd64: TARGETPLATFORM=darwin/amd64
99-
cross-mac-amd64: buildx
100-
# Call make again to forward the target platform, otherwise it'd would be reset
101-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-cli
102-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-buildx-plugin
103-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-compose-plugin
104-
105-
# cli
105+
cross-mac-amd64: buildx static-cli static-buildx-plugin static-compose-plugin
106+
# docker cli binaries
106107
mkdir -p build/mac/amd64/docker-cli
107108
cp -L $(CLI_DIR)/build/docker build/mac/amd64/docker-cli/docker
108109
tar -C build/mac/amd64/ -c -z -f build/mac/amd64/docker-cli-$(CLI_VERSION).tgz docker-cli
110+
rm -r build/mac/amd64/docker-cli
109111

110-
# compose, buildx
112+
# docker compose
111113
tar -C "$(COMPOSE_DIR)"/bin/ -c -z -f build/mac/amd64/docker-compose-plugin-"$(DOCKER_COMPOSE_REF:v%=%)".tgz docker-compose
112-
tar -C "$(BUILDX_DIR)"/bin/ -c -z -f build/mac/amd64/docker-buildx-plugin-"$(DOCKER_BUILDX_REF:v%=%)".tgz docker-buildx
114+
115+
# docker buildx
116+
tar -C "$(BUILDX_DIR)"/bin/ -c -z -f build/mac/amd64/docker-buildx-plugin-"$(DOCKER_BUILDX_REF:v%=%)".tgz docker-buildx
113117

114118
.PHONY: cross-mac-arm64
115119
cross-mac-arm64: TARGETPLATFORM=darwin/arm64
116-
cross-mac-arm64: buildx
117-
# Call make again to forward the target platform, otherwise it'd would be reset
118-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-cli
119-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-buildx-plugin
120-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-compose-plugin
121-
122-
# cli
120+
cross-mac-arm64: buildx static-cli static-buildx-plugin static-compose-plugin
121+
# docker cli binaries
123122
mkdir -p build/mac/arm64/docker-cli
124123
cp -L $(CLI_DIR)/build/docker build/mac/arm64/docker-cli/docker
125124
tar -C build/mac/arm64/ -c -z -f build/mac/arm64/docker-cli-$(CLI_VERSION).tgz docker-cli
125+
rm -r build/mac/arm64/docker-cli
126126

127-
# compose, buildx
127+
# docker compose
128128
tar -C "$(COMPOSE_DIR)"/bin/ -c -z -f build/mac/arm64/docker-compose-plugin-"$(DOCKER_COMPOSE_REF:v%=%)".tgz docker-compose
129-
tar -C "$(BUILDX_DIR)"/bin/ -c -z -f build/mac/arm64/docker-buildx-plugin-"$(DOCKER_BUILDX_REF:v%=%)".tgz docker-buildx
129+
130+
# docker buildx
131+
tar -C "$(BUILDX_DIR)"/bin/ -c -z -f build/mac/arm64/docker-buildx-plugin-"$(DOCKER_BUILDX_REF:v%=%)".tgz docker-buildx
130132

131133
.PHONY: cross-win
132134
cross-win: TARGETPLATFORM=windows/arm64
133-
cross-win: cross-win-engine
134-
# Call make again to forward the target platform, otherwise it'd would be reset
135-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-cli
136-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) EXT=".exe" static-buildx-plugin
137-
$(MAKE) TARGETPLATFORM=$(TARGETPLATFORM) static-compose-plugin
135+
cross-win: EXT=.exe
136+
cross-win: cross-win-engine static-cli static-buildx-plugin static-compose-plugin
137+
# docker cli binaries
138138
mkdir -p build/win/amd64/docker-cli
139+
cp -L $(CLI_DIR)/build/docker build/win/amd64/docker-cli/docker.exe
140+
141+
# docker engine binaries
139142
mkdir -p build/win/amd64/docker-engine
140-
mkdir -p build/win/amd64/docker-buildx
143+
for f in dockerd.exe docker-init docker-proxy.exe; do \
144+
cp -L $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/$$f build/win/amd64/docker-engine/$$f; \
145+
done
146+
147+
# docker compose, docker buildx
141148
mkdir -p build/win/amd64/docker-compose
142-
cp -L $(CLI_DIR)/build/docker build/win/amd64/docker-cli/docker.exe
143-
cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/dockerd.exe build/win/amd64/docker-engine/dockerd.exe
144-
cp $(ENGINE_DIR)/bundles/cross/windows/amd64-daemon/docker-proxy.exe build/win/amd64/docker-engine/docker-proxy.exe
145-
cp $(BUILDX_DIR)/bin/docker-buildx.exe build/win/amd64/docker-buildx/docker-buildx.exe
146149
cp $(COMPOSE_DIR)/bin/docker-compose/docker-compose.exe build/win/amd64/docker-compose/docker-compose.exe
147150

151+
# docker buildx
152+
mkdir -p build/win/amd64/docker-buildx
153+
cp $(BUILDX_DIR)/bin/docker-buildx.exe build/win/amd64/docker-buildx/docker-buildx.exe
154+
148155
docker run --rm -v $(CURDIR)/build/win/amd64:/v -w /v alpine sh -c 'apk add --no-cache zip \
149156
&& zip -r docker-cli-$(CLI_VERSION).zip docker-cli \
150157
&& zip -r docker-engine-$(ENGINE_VERSION).zip docker-engine \
151-
&& zip -r docker-buildx-plugin-$(DOCKER_BUILDX_REF:v%=%).zip docker-buildx \
152-
&& zip -r docker-compose-plugin-$(DOCKER_COMPOSE_REF:v%=%).zip docker-compose'
158+
&& zip -r docker-compose-plugin-$(DOCKER_COMPOSE_REF:v%=%).zip docker-compose \
159+
&& zip -r docker-buildx-plugin-$(DOCKER_BUILDX_REF:v%=%).zip docker-buildx '
153160
$(CHOWN) -R $(shell id -u):$(shell id -g) build
154161

162+
# clean up temporary directories
163+
$(RM) -r build/win/amd64/docker-cli build/win/amd64/docker-engine build/win/amd64/docker-compose build/win/amd64/docker-buildx
164+
155165
.PHONY: cross-arm
156166
cross-arm: cross-all-cli ## create tgz with linux armhf client only
157167
mkdir -p build/arm/docker-cli
158168
cp $(CLI_DIR)/build/docker-linux-arm build/arm/docker-cli/docker
159169
tar -C build/arm -c -z -f build/arm/docker-cli-$(CLI_VERSION).tgz docker-cli
170+
rm -r build/arm/docker-cli
160171

161172
.PHONY: static-cli
162173
static-cli:
174+
# TODO(thaJeztah) check if CGO_ENABLED variable is correct here
163175
cd $(CLI_DIR) && VERSION=$(CLI_VERSION) docker buildx bake --set binary.platform=$(TARGETPLATFORM) --set binary.args.CGO_ENABLED=$(CGO_ENABLED) binary
164176

165177
.PHONY: static-engine
@@ -181,10 +193,6 @@ static-compose-plugin:
181193

182194
ls -laR $(COMPOSE_DIR)/bin
183195

184-
.PHONY: cross-cli
185-
cross-cli:
186-
cd $(CLI_DIR) && VERSION=$(CLI_VERSION) docker buildx bake --set binary.platform="$(or $(TARGETPLATFORM),local)" binary
187-
188196
.PHONY: cross-all-cli
189197
cross-all-cli:
190198
$(MAKE) -C $(CLI_DIR) -f docker.Makefile VERSION=$(CLI_VERSION) cross

0 commit comments

Comments
 (0)