forked from daniruiz/flat-remix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
108 lines (89 loc) · 3.09 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
# GNU make is required to run this file. To install on *BSD, run:
# gmake PREFIX=/usr/local install
PREFIX ?= /usr
IGNORE ?=
THEMES ?= $(patsubst %/index.theme,%,$(wildcard ./*/index.theme))
PKGNAME = flat-remix
MAINTAINER = Daniel Ruiz de Alegría <[email protected]>
# excludes IGNORE from THEMES list
THEMES := $(filter-out $(IGNORE), $(THEMES))
all:
install:
mkdir -p $(DESTDIR)$(PREFIX)/share/icons
cp -R $(THEMES) $(DESTDIR)$(PREFIX)/share/icons
# skip building icon caches when packaging
$(if $(DESTDIR),,$(MAKE) $(THEMES))
$(THEMES):
-gtk-update-icon-cache -q $(DESTDIR)$(PREFIX)/share/icons/$@
uninstall:
-rm -rf $(foreach theme,$(THEMES),$(DESTDIR)$(PREFIX)/share/icons/$(theme))
_get_version:
$(eval VERSION ?= $(shell git show -s --format=%cd --date=format:%Y%m%d HEAD))
@echo $(VERSION)
_get_tag:
$(eval TAG := $(shell git describe --abbrev=0 --tags))
@echo $(TAG)
dist: _get_version
color_variants="-Blue -Green -Red -Yellow"; \
theme_variants="- -Dark -Light"; \
count=1; \
for color_variant in $$color_variants; \
do \
for theme_variant in $$theme_variants; \
do \
[ "$$theme_variant" = '-' ] && theme_variant=''; \
file="Flat-Remix$${color_variant}$${theme_variant}"; \
if [ -d "$$file" ]; \
then \
count_pretty=$$(echo "0$${count}" | tail -c 3); \
tar -c "$$file" | \
xz -z - > "$${count_pretty}-$${file}_$(VERSION).tar.xz"; \
count=$$((count+1)); \
fi; \
done; \
done; \
release: _get_version
$(MAKE) generate_changelog VERSION=$(VERSION)
$(MAKE) aur_release VERSION=$(VERSION)
$(MAKE) copr_release VERSION=$(VERSION)
$(MAKE) launchpad_release
git tag -f $(VERSION)
git push origin --tags
$(MAKE) dist
aur_release: _get_version _get_tag
cd aur; \
sed "s/$(TAG)/$(VERSION)/g" -i PKGBUILD .SRCINFO; \
git commit -a -m "$(VERSION)"; \
git push origin master;
git commit aur -m "Update aur version $(VERSION)"
git push origin master
copr_release: _get_version _get_tag
sed "s/$(TAG)/$(VERSION)/g" -i $(PKGNAME).spec
git commit $(PKGNAME).spec -m "Update $(PKGNAME).spec version $(VERSION)"
git push origin master
launchpad_release: _get_version
cp -a Flat-Remix* Makefile deb/$(PKGNAME)
sed "s/{}/$(VERSION)/g" -i deb/$(PKGNAME)/debian/changelog-template
cd deb/$(PKGNAME)/debian/ && echo " -- $(MAINTAINER) $$(date -R)" | cat changelog-template - > changelog
cd deb/$(PKGNAME) && debuild -S -d
dput ppa deb/$(PKGNAME)_$(VERSION)_source.changes
git checkout deb
git clean -df deb
undo_release: _get_tag
-git tag -d $(TAG)
-git push --delete origin $(TAG)
generate_changelog: _get_version _get_tag
git checkout $(TAG) CHANGELOG
echo [$(VERSION)] > /tmp/out
git log --pretty=format:' * %s' $(TAG)..HEAD >> /tmp/out
echo >> /tmp/out
echo | cat - CHANGELOG >> /tmp/out
mv /tmp/out CHANGELOG
$$EDITOR CHANGELOG
git commit CHANGELOG -m "Update CHANGELOG version $(VERSION)"
git push origin master
.PHONY: all install $(THEMES) uninstall _get_version _get_tag dist release aur_release copr_release launchpad_release undo_release generate_changelog
# .BEGIN is ignored by GNU make so we can use it as a guard
.BEGIN:
@head -3 Makefile
@false