-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
129 lines (111 loc) · 3.79 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
include Makefile.cfg
ifeq ($(findstring rootless, $(shell docker info --format '{{.SecurityOptions}}')), )
DOCKERARGS = --net=host
else
DOCKERARGS = --volume=/tmp/.X11-unix/:/tmp/.X11-unix/
endif
# parallel execution werkt niet met -i voor docker
# zonder -i voor docker zijn processen in docker niet te onderbreken
.NOTPARALLEL:
.PHONY: help
help:
@echo Beschikbare targets voor make:
@egrep -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[34m%-8s\033[0m %s\n", $$1, $$2}'
shell:
docker run $(DOCKERARGS) --rm -i -t \
-e DISPLAY \
-v $(PWD)/paqu-in-docker/build/opt:/opt \
-v $(PWD)/src:/src \
-v $(PWD)/tmp:/tmp \
-v $(PWD)/work:/work \
localhost/paqu-devel:latest
distclean:
if [ -d work/cache/go ]; then chmod -cR u+w work/cache/go; fi
rm -fr \
paqu-in-docker/build/opt \
work
step0: ## deze repo bijwerken
git pull
step1: ## maak/update het image dat in de volgende stappen gebruikt wordt
build/build.sh
step2: step1 ## installeer DbXML
#if [ ! -f src/dbxml-6.1.4.tar.gz ]; \
# then cp /net/corpora/docker/alpino/src/dbxml-6.1.4.tar.gz src; fi
docker run $(DOCKERARGS) --rm -i -t \
-v $(PWD)/paqu-in-docker/build/opt:/opt \
-v $(PWD)/scripts:/scripts \
-v $(PWD)/work/dbxml:/dbxml \
localhost/paqu-devel:latest \
/scripts/install-dbxml.sh
step3: step2 ## installeer PaQu
docker run $(DOCKERARGS) --rm -i -t \
-v $(PWD)/paqu-in-docker/build/opt:/opt \
-v $(PWD)/scripts:/scripts \
-v $(PWD)/work/cache:/cache \
-v $(PWD)/work/paqu:/paqu \
localhost/paqu-devel:latest \
/scripts/install-paqu.sh
step4: step2 ## installeer extra binary's
docker run $(DOCKERARGS) --rm -i -t \
-v $(PWD)/paqu-in-docker/build/opt:/opt \
-v $(PWD)/scripts:/scripts \
-v $(PWD)/src:/src \
-v $(PWD)/work/cache:/cache \
-v $(PWD)/work/paqu:/paqu \
localhost/paqu-devel:latest \
make -C /src
step5: paqu-in-docker/build/alpino.tar.gz ## zet Alpino klaar
step6: step3 step4 paqu-in-docker/build/cdb.dactx ## zet corpora klaar
step8: step3 step4 step5 step6 ## maak image van PaQu in Docker
cd paqu-in-docker/build && ./build.sh
step9: step8 ## push image van PaQu in Docker naar de server
@echo
@echo -e '\e[1mVergeet niet af en toe oude versies te verwijderen, anders is ons quotum op\e[0m'
@echo https://registry.webhosting.rug.nl/harbor/projects/57/repositories/paqu/artifacts-tab
@echo
cd paqu-in-docker/build && ./push.sh
paqu-in-docker/build/alpino.tar.gz: $(ALPINO_TGZ)
rm -fr Alpino tmp.tgz
tar xzf $<
tar vczf tmp.tgz \
Alpino/version \
Alpino/Generation/fluency/*.fsa \
Alpino/Generation/fluency/*.tpl \
Alpino/Grammar/*.fsa \
Alpino/Hdrug/Tcl \
Alpino/Lexicon/*.fsa \
Alpino/Names/*.fsa \
Alpino/PosTagger/MODELS \
Alpino/Tokenization \
Alpino/TreebankTools \
Alpino/bin \
Alpino/create_bin \
Alpino/fadd/*.so \
Alpino/unix/*.so*
mv tmp.tgz $@
rm -fr Alpino
paqu-in-docker/build/cdb.dactx: paqu-in-docker/build/cdb.dact
rm -f $@.tmp
docker run $(DOCKERARGS) --rm -i -t \
-v $(PWD)/paqu-in-docker/build/opt:/opt \
-v $(PWD)/paqu-in-docker/build:/tmp \
localhost/paqu-devel:latest \
/opt/bin/pqdactx /tmp/cdb.dact /tmp/cdb.dactx.tmp
mv $@.tmp $@
paqu-in-docker/build/cdb.dact: $(CDB_TGZ)
@echo
@echo -e '\e[1mNieuwste versie hier te downloaden:\e[0m'
@echo https://www.let.rug.nl/vannoord/treebanks/
@echo
rm -fr cdb
tar xzf $(CDB_TGZ)
date -r `ls -t cdb/*.xml | head -n 1` +%Y-%m-%d > paqu-in-docker/build/cdbdate
cp paqu-in-docker/build/cdbdate paqu-in-docker/build/cdbversion
docker run $(DOCKERARGS) --rm -i -t \
-v $(PWD)/cdb:/tmp \
-v $(PWD)/paqu-in-docker/build:/build \
-v $(PWD)/paqu-in-docker/build/opt:/opt \
-v $(PWD)/scripts:/scripts \
localhost/paqu-devel:latest \
/scripts/install-cdb.sh
rm -fr cdb