-
Notifications
You must be signed in to change notification settings - Fork 50
/
Makefile.win
64 lines (52 loc) · 1.94 KB
/
Makefile.win
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright 2018-2022 Docker Inc.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
include common/common.mk
.PHONY: src
src: src/github.com/containerd/containerd
ifdef CONTAINERD_DIR
src/github.com/containerd/containerd:
Xcopy /E /I "$(CONTAINERD_DIR)" $@
else
src/github.com/containerd/containerd:
git init $@
git -C $@ remote add origin "$(CONTAINERD_REMOTE)"
endif
.PHONY: checkout
checkout: src
@git -C src/github.com/containerd/containerd fetch --depth 1 origin "$(REF)"
@git -C src/github.com/containerd/containerd checkout -q FETCH_HEAD
# Windows builder, only difference is we installed make
windows-image: checkout
docker build \
--pull \
--build-arg GOLANG_IMAGE=$(GOLANG_IMAGE) \
-t dockereng/containerd-windows-builder \
-f dockerfiles/win.dockerfile \
.
echo 1 > $@
build/windows/%.exe: windows-image
Powershell.exe New-Item -ItemType Directory -Force -Path build/windows/
docker run \
--rm \
-v "$(CURDIR)/src/:C:/gopath/src" \
-v "$(CURDIR)/build/windows:C:/gopath/src/github.com/containerd/containerd/bin" \
-w "C:/gopath/src/github.com/containerd/containerd" \
dockereng/containerd-windows-builder \
make bin/$*
build/windows/containerd.zip: build/windows/containerd.exe build/windows/ctr.exe
Powershell.exe Compress-Archive -Force -Path 'build/windows/*.exe' -DestinationPath '$@'
.PHONY: archive
archive: build/windows/containerd.zip
.PHONY: clean
clean:
-$(RM) src
-$(RM) windows-image
-$(RM) build/windows