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
|
all: index.theme $(ALL_PNG_ICONS)
all-fast: index.theme all-fast-icons
all-fast-icons: $(ICONS:=.x)
$(ICONS:=.x): conv
@+test -z "$(DIR_SUFFIX)" || $(MAKE) scalable$(DIR_SUFFIX)/$(@:.x=.svg)
./conv scalable$(DIR_SUFFIX)/$(@:.x=.svg) $(SIZES)
index.theme: $(CONFIGFILE) mk/portable.mk mk/make-dir-info
set -e;\
printf '%s\n' \
'[Icon Theme]'\
'Name=$(THEME_NAME)'\
'Comment=$(THEME_DESC)'\
'Example=folder'\
''\
'# KDE specific stuff'\
'DisplayDepth=32'\
'LinkOverlay=link_overlay'\
'LockOverlay=lock_overlay'\
'ZipOverlay=zip_overlay'\
'DesktopDefault=48'\
'DesktopSizes='$$(printf ',%s' $(SIZES) | sed 's/^,//')\
'ToolbarDefault=22'\
'ToolbarSizes=8,16,22,32,48'\
'MainToolbarDefault=22'\
'MainToolbarSizes=8,16,22,32,48'\
'SmallDefault=16'\
'SmallSizes=16'\
'PanelDefault=32'\
'PanelSizes='$$(printf ',%s' $(SIZES) | sed 's/^,//')\
''\
> index.theme
printf 'Directories=' >> index.theme
set -e;\
for s in $(SIZES); do\
for d in $(DIRS); do\
printf ',%sx%s/%s' $$s $$s $$d;\
done;\
done | sed 's/^,//' >> index.theme
set -e;\
for d in $(DIRS); do\
printf ',scalable/%s' $$d;\
done >> index.theme
printf '\n' >> index.theme
set -e;\
for s in $(SIZES) scalable; do\
for d in $(DIRS); do\
printf '\n';\
mk/make-dir-info $$s $$d;\
done;\
done >> index.theme
conv: mk/conv.c
$(CC) -o $@ $< $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
install: index.theme $(ALL_PNG_ICONS)
mkdir -p -- "$(DESTDIR)$(ICONPREFIX)"
set -e;\
for d in $(DIRS); do\
for s in $(SIZES); do\
mkdir -p -- "$(DESTDIR)$(ICONPREFIX)/$(THEME_DIR)/$${s}x$${s}/$${d}";\
done;\
mkdir -p -- "$(DESTDIR)$(ICONPREFIX)/$(THEME_DIR)/scalable/$${d}";\
done
head -n 1 < icons.mk | grep '^ICONS' > /dev/null
set -e;\
(sed '/[^\\]$$/q' | sed 's/\\$$//' | sed '1s/^.*=//' | sed 's/[[:space:]]//g' | sed '/^$$/d') < icons.mk |\
while read i; do\
for s in $(SIZES); do\
cp -P -- "$${s}x$${s}$(DIR_SUFFIX)/$${i}.png" "$(DESTDIR)$(ICONPREFIX)/$(THEME_DIR)/$${s}x$${s}/$${i}.png";\
done;\
cp -P -- "scalable$(DIR_SUFFIX)/$${i}.svg" "$(DESTDIR)$(ICONPREFIX)/$(THEME_DIR)/scalable/$${i}.svg";\
done
cp -- index.theme "$(DESTDIR)$(ICONPREFIX)/$(THEME_DIR)/index.theme"
#`(sed ...) < icons.mk | while read i` is used instead of `for i in $(ICONS)` because $(ICONS) got too big for sh(1)
#The
uninstall:
-rm -rf -- "$(DESTDIR)$(ICONPREFIX)/$(THEME_DIR)"
clean:
+@$(MAKE) -f Makefile clean
|