forked from glutanimate/syntax-highlighting
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
62 lines (48 loc) · 1.65 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
# Makefile for Anki add-ons
#
# Prepares zip file for upload to AnkiWeb
#
# Copyright: (c) 2017-2018 Glutanimate <https://glutanimate.com/>
# License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl.html>
VERSION = `git describe HEAD --tags --abbrev=0`
ADDON = syntax-highlighting
ADDONDIR = syntax_highlighting
###
all: zip
clean: cleanbuild cleanzips
zip: cleanbuild ui builddir buildzip
release: cleanbuild builddir buildrelease
###
cleanzips:
rm -f *-anki2*.zip
cleanbuild:
rm -rf build
find . \( -name '*.pyc' -o -name '*.pyo' -o -name '__pycache__' \) -delete
ui:
PYENV_VERSION=anki20tools ./tools/build_ui.sh "$(ADDONDIR)" 4
PYENV_VERSION=anki21tools ./tools/build_ui.sh "$(ADDONDIR)" 5
builddir:
mkdir -p build/dist build/dist21
buildzip:
rm -f *-current-anki2*.zip
cp src/*.py build/dist/
cp -r "src/$(ADDONDIR)" build/dist/
cp -r "src/$(ADDONDIR)/"* build/dist21/
rm -rf "build/dist/$(ADDONDIR)/forms5" build/dist21/forms4
cd build/dist && zip -r "../../$(ADDON)-current-anki20.zip" *
cd build/dist21 && zip -r "../../$(ADDON)-current-anki21.zip" *
rm -rf build
buildrelease:
rm -f *-release-$(VERSION)-anki2*.zip
git archive --format tar $(VERSION) | tar -x -C build/dist/
cp -r build/dist/* build/dist21
rm -rf "build/dist/$(ADDONDIR)/forms5" "build/dist21/forms4"
cd build/dist && \
PYENV_VERSION=anki20tools ../../tools/build_ui.sh "$(ADDONDIR)" 4 &&\
cd src && \
zip -r "../../../$(ADDON)-release-$(VERSION)-anki20.zip" "$(ADDONDIR)" *.py
cd build/dist21 && \
PYENV_VERSION=anki21tools ../../tools/build_ui.sh "$(ADDONDIR)" 5 &&\
cd src/"$(ADDONDIR)" && \
zip -r "../../../../$(ADDON)-release-$(VERSION)-anki21.zip" *
rm -rf build