-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathMakefile
51 lines (38 loc) · 1.23 KB
/
Makefile
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
PYTHON_VERSION?=3.7
IMG_NAME_PR?=docker.pkg.github.com/silvanoc/pycontainerd
SUBDIRS=script tests infra
SUPPORTED_APIS=1.2 1.3 1.4 1.5
API_DIRS=$(addprefix api_,$(SUPPORTED_APIS))
export
.PHONY: all
all: packages
.PHONY: stubs
stubs:
@ for api in $(SUPPORTED_APIS); do $(MAKE) api_$$api ; done
api_%: script/genpb2.sh resources/containerd/__init__.py.in resources/containerd/services/events/v1/__init__.py
./script/genpb2.sh -a $*
cp resources/api_Makefile $@/Makefile
regenerate_%:
bash -x ./script/genpb2.sh -n -a $*
cp resources/api_Makefile api_$*/Makefile
.PHONY: packages test docker-test
packages: $(API_DIRS)
@ for api in $(API_DIRS) ; do $(MAKE) -C $$api dist ; done
mkdir -p $@
@ for api in $(API_DIRS) ; do cp $$api/dist/* $@ ; done
test:
$(MAKE) -C tests test
prepare:
for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done
docker-test: package prepare
$(MAKE) -C tests $@
push-docker:
$(MAKE) -C infra/docker push
.PHONY: clean clobber
clean:
- for api in $(API_DIRS) ; do $(MAKE) -C $$api $@ ; done
- for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done
- rm -r build containerd.egg-info dist
clobber: clean
- for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir $@ ; done
- for api in $(API_DIRS) ; do rm -r $$api ; done