File: Makefile

package info (click to toggle)
arc-colors 2.7-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 7,804 kB
  • ctags: 16
  • sloc: makefile: 108; xml: 84
file content (128 lines) | stat: -rw-r--r-- 4,307 bytes parent folder | download
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
PROJECT := arc-colors
DOCS := AUTHORS ChangeLog COPYING README
THEMES := \
	GDM-Themes/Arc-Brave \
	GDM-Themes/Arc-Dust \
	GDM-Themes/Arc-Human \
	GDM-Themes/Arc-Illustrious \
	GDM-Themes/Arc-Noble \
	GDM-Themes/Arc-Wine \
	GDM-Themes/Arc-Wise \
	GDM-UserList-Themes/Arc-Brave-Userlist \
	GDM-UserList-Themes/Arc-Dust-Userlist \
	GDM-UserList-Themes/Arc-Human-Userlist \
	GDM-UserList-Themes/Arc-Illustrious-Userlist \
	GDM-UserList-Themes/Arc-Noble-Userlist \
	GDM-UserList-Themes/Arc-Wine-Userlist \
	GDM-UserList-Themes/Arc-Wise-Userlist
WALLPAPER := \
	Arc-Brave.png \
	Arc-Dust.png \
	Arc-Human.png \
	Arc-Illustrious.png \
	Arc-Noble.png \
	Arc-Wine.png \
	Arc-Wise.png
PROPERTIES := $(wildcard gnome-background-properties/arc-*.xml)
DIST_EXTRA := Makefile Sources

THEME_TARBALLS := $(addsuffix .tar.bz2,$(THEMES))
FILES := $(shell find $(THEMES) \( -type f -o -type l \) -a ! -wholename '*/.*' 2> /dev/null)
DIST_EXTRA_FILES := $(shell find $(DIST_EXTRA) \( -type f -o -type l \) -a ! -wholename '*/.*')
DIST_FILES := $(THEME_TARBALLS) $(DOCS) $(WALLPAPER) $(PROPERTIES) $(DIST_EXTRA_FILES)

VERSION := $(shell head -n 1 ChangeLog | cut -d ' ' -f 1)
PACKAGE := $(PROJECT)-$(VERSION)

all:

clean:
	rm -f *.tar.bz2 *.tar.gz

distclean: clean
	for THEME in $(THEMES); do \
		if test -f $${THEME}.tar.bz2; then \
			rm -rf $${THEME}; \
		fi; \
	done

svnclean: clean
# remove theme tarballs
	rm -f GDM*-Themes/*.tar GDM*-Themes/*.tar.bz2
# remove copied wallpaper
	rm -f GDM*-Themes/Arc-*/bg.png

dist: gz

help:
	@echo "make targets:"
	@echo "    all          Does nothing (default target)."
	@echo "    clean        Deletes all files created by this makefile."
	@echo "    distclean    Removes all files, which are not part of the distribution."
	@echo "    svnclean     Removes all files, which are not part of the repository."
	@echo "    fixperms     Fixes permissions of all files."
	@echo "    dist         Creates a distribution tar file for $(PROJECT)."
	@echo "    help         Displays this help."
	@echo "    bz2          Create a distribution .tar.bz2 file."
	@echo "    gz           Create a distribution .tar.gz file."
	@echo "    install      Installs $(PROJECT) system-wide."
	@echo "    uninstall    Removes $(PROJECT) from the system."

fixperms:
	find * ! -wholename '*/.*' -a -type f -a ! -perm 644 -exec chmod 644 {} \; -printf "chmod 644 %p\n"

bz2: $(PACKAGE).tar.bz2

gz: $(PACKAGE).tar.gz

$(THEME_TARBALLS:%.tar.bz2=%.tar): %.tar: $(FILES) $(WALLPAPER)
	@echo $@ $(@D) $(@F)
	tar -cf $@ --transform='s|^[^/]*/||' $(filter $(basename $@)%,$^)
	tar -rf $@ $(patsubst %-Userlist,%,$(basename $(@F))).png \
		--transform='s|^$(patsubst %-Userlist,%,$(basename $(@F)))|$(basename $(@F))/bg|'

$(THEME_TARBALLS): %.tar.bz2: %.tar
	bzip2 -cz9 $< > $@

$(PACKAGE).tar.bz2: $(DIST_FILES)
	$(MAKE) fixperms
	tar -c --transform='s|^|$(PACKAGE)/|' $^ | bzip2 -cz9 > $@

$(PACKAGE).tar.gz: $(DIST_FILES)
	$(MAKE) fixperms
	tar -c --transform='s|^|$(PACKAGE)/|' $^ | gzip -cn9 > $@

install:
# extract tarballs
	for THEME in $(THEMES); do \
		if test ! -d $$THEME; then \
			tar -xf $${THEME}.tar.bz2 -C $$(dirname $${THEME}.tar.bz2); \
		fi; \
	done
# install GDM themes
	for FILE in $$(find $(THEMES) \( -type f -o -type l \) -a ! -wholename '*/.*'); do \
		THEME=$$(echo $$FILE | sed 's|^[^/]*/||'); \
		install -D -m 644 "$$FILE" "$(DESTDIR)/usr/share/gdm/themes/$$THEME"; \
	done
# install wallpapers
	for FILE in $(WALLPAPER); do \
		install -D -m 644 "$$FILE" "$(DESTDIR)/usr/share/backgrounds/$$FILE"; \
		THEME=$$(echo $$FILE | sed 's/\.[^\.]*$$//'); \
		EXTENSION=$$(echo $$FILE | sed 's/.*\.//g'); \
		ln -sf ../../../backgrounds/$$FILE $(DESTDIR)/usr/share/gdm/themes/$$THEME/bg.$$EXTENSION; \
		ln -sf ../../../backgrounds/$$FILE $(DESTDIR)/usr/share/gdm/themes/$${THEME}-Userlist/bg.$$EXTENSION; \
	done
# install gnome-background-properties files
	for FILE in $(PROPERTIES); do \
		install -D -m 644 "$$FILE" "$(DESTDIR)/usr/share/$$FILE"; \
	done

uninstall:
	for DIR in $(THEMES); do \
		THEME=$$(echo $$DIR | sed 's|^[^/]*/||'); \
		rm -rf "$(DESTDIR)/usr/share/gdm/themes/$$THEME"; \
	done
	rm -f $(addprefix $(DESTDIR)/usr/share/backgrounds/,$(WALLPAPER))
	rm -f $(addprefix $(DESTDIR)/usr/share/,$(PROPERTIES))

.PHONY: clean distclean help install svnclean uninstall