-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
89 lines (74 loc) · 2.52 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
SUBDIRS = lib gi src
PREFIX ?= $(CURDIR)/install
VERSION := $(shell util/get-version)
ISCC := "/c/Program Files (x86)/Inno Setup 6/ISCC.exe"
all:
@for subdir in $(SUBDIRS); do \
cd $$subdir && \
$(MAKE) all && \
cd .. ; \
done
.PHONY: install
install:
@for subdir in $(SUBDIRS); do \
cd $$subdir && \
$(MAKE) install PREFIX=$(PREFIX) && \
cd .. ; \
done
.PHONY: clean
clean:
@for subdir in $(SUBDIRS); do \
cd $$subdir && \
$(MAKE) clean && \
cd .. ; \
done
rm -rf $(PREFIX)
roll-patch:
@util/set-version `util/roll-version patch $(VERSION)`
$(MAKE) roll
roll-minor:
@util/set-version `util/roll-version minor $(VERSION)`
$(MAKE) roll
roll-major:
@util/set-version `util/roll-version major $(VERSION)`
$(MAKE) roll
roll:
@echo "New version: $(VERSION)"
git add lib/slide_version.hpp
$(MAKE) readme
git add README.md README-ru.md
@echo 'Now run: $$ make commit-push'
commit-push:
git commit -m "Roll ${VERSION}"
git tag "${VERSION}"
git push origin `git branch --show-current 2>/dev/null` --tags
readme:
sed -E -e "s/\{\{version\}\}/${VERSION}/g" README.template > README.md
sed -E -e "s/\{\{version\}\}/${VERSION}/g" README-ru.template > README-ru.md
sha256sum:
sha256sum slide-${VERSION}-win-x64.zip slide-${VERSION}-win-x64-setup.zip | tee slide-${VERSION}-sha256sum.txt
windows-package:
$(MAKE) windows-prepare
$(MAKE) windows-zip
$(MAKE) windows-installer
windows-prepare:
rm -rf slide-${VERSION}-win-x64/
mkdir -p slide-${VERSION}-win-x64/bin/
cp install/bin/*.exe slide-${VERSION}-win-x64/bin/
cp LICENSE slide-${VERSION}-win-x64/
cp README.md slide-${VERSION}-win-x64/
cp README-ru.md slide-${VERSION}-win-x64/
windows/copy-mingw64-deps.sh slide-${VERSION}-win-x64/
node util/notice-mingw64.js slide-${VERSION}-win-x64/bin/ > slide-${VERSION}-win-x64/NOTICE
windows-zip:
zip -r slide-${VERSION}-win-x64.zip slide-${VERSION}-win-x64/
windows-installer:
sed -E -e "s/\{\{version\}\}/${VERSION}/g" windows/installer.iss | ${ISCC} //O"." //F"slide-${VERSION}-win-x64-setup" -
# Zip to upload to GH Releases
zip slide-${VERSION}-win-x64-setup.zip slide-${VERSION}-win-x64-setup.exe
update-copyright:
find . -name 'LICENSE' \
-or -name '*.cpp' \
-or -name '*.hpp' \
-or -name '*.h' \
| xargs -I{} sed -i 's/2023 Dmitry Klionsky/2023-2024 Dmitry Klionsky/' {}