~dkessel/catfish-search/catfish-autopilot

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
APPNAME=catfish
PREFIX=@prefix@
PYTHON=@python@
LANGUAGE_FILES=$(patsubst po/%.po, locale/%/LC_MESSAGES/$(APPNAME).mo, $(wildcard po/*.po))
DESTDIR=

all: $(LANGUAGE_FILES)
	intltool-merge -d po catfish.desktop.in catfish.desktop
	intltool-merge -d po --xml-style data/appdata/catfish.appdata.xml.in data/appdata/catfish.appdata.xml
	chmod +x catfish.desktop
	sed -e s,%prefix%,$(PREFIX), bin/$(APPNAME).in.in > bin/$(APPNAME).in
	sed -e s,%python%,$(PYTHON), bin/$(APPNAME).in > bin/$(APPNAME)
	chmod +x bin/$(APPNAME)

locale/%/LC_MESSAGES/$(APPNAME).mo: po/%.po
	mkdir -p $(dir $@)
	msgfmt $< -o $@

install: all
	install -d $(DESTDIR)/$(PREFIX)/bin
	install bin/$(APPNAME) $(DESTDIR)/$(PREFIX)/bin

	install -d $(DESTDIR)/$(PREFIX)/share/$(APPNAME)
	install -d $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/bin
	install bin/$(APPNAME).py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/bin
	
	install -d $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish
	install catfish/AboutCatfishDialog.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish
	install catfish/CatfishSearchEngine.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish
	install catfish/CatfishWindow.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish
	install catfish/__init__.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish
	
	install -d $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/AboutDialog.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/Builder.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/catfishconfig.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/CatfishSettings.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/helpers.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/__init__.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/SudoDialog.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	install catfish_lib/Window.py $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/catfish_lib
	
	install -d $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/data
	install -d $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/data/ui
	install data/ui/AboutCatfishDialog.ui $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/data/ui
	install data/ui/about_catfish_dialog.xml $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/data/ui
	install data/ui/CatfishWindow.ui $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/data/ui
	install data/ui/catfish_window.xml $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/data/ui

	install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/scalable/apps
	install data/media/$(APPNAME).svg $(DESTDIR)/$(PREFIX)/share/icons/hicolor/scalable/apps
	ln -sf $(PREFIX)/share/icons/hicolor/scalable/apps/$(APPNAME).svg $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/$(APPNAME).svg

	install -d $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)
	install AUTHORS $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)
	install COPYING $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)
	install ChangeLog $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)
	install INSTALL $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)
	install README $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)

	install -d $(DESTDIR)/$(PREFIX)/share/appdata
	install data/appdata/catfish.appdata.xml $(DESTDIR)/$(PREFIX)/share/appdata/catfish.appdata.xml

	install -d $(DESTDIR)/$(PREFIX)/share/applications
	install --mode=644 $(APPNAME).desktop $(DESTDIR)/$(PREFIX)/share/applications

	cp -rf locale $(DESTDIR)/$(PREFIX)/share
	ln -sf $(PREFIX)/share/locale $(DESTDIR)/$(PREFIX)/share/$(APPNAME)/locale

uninstall:
	rm -f $(DESTDIR)/$(PREFIX)/share/applications/$(APPNAME).desktop
	rm -rf $(DESTDIR)/$(PREFIX)/share/$(APPNAME)
	rm -rf $(DESTDIR)/$(PREFIX)/share/icons/hicolor/scalable/apps/$(APPNAME).svg
	rm -rf $(DESTDIR)/$(PREFIX)/share/doc/$(APPNAME)
	rm -f $(DESTDIR)/$(PREFIX)/share/appdata/catfish.appdata.xml
	# FIXME: Uninstall locales
	rm -f $(DESTDIR)/$(PREFIX)/bin/$(APPNAME)

clean:
	rm -Rf locale
	rm -f catfish/*.pyc
	rm -f catfish_lib/*.pyc
	rm -f bin/$(APPNAME).pyc
	rm -f bin/$(APPNAME).in
	rm -f bin/$(APPNAME)
	rm -f catfish.desktop
	rm -f data/appdata/catfish.appdata.xml
	rm -f Makefile.in
	rm -f Makefile
	rm -f control.in
	rm -f control
	rm -Rf deb

deb: all
	$(MAKE) install DESTDIR=$(CURDIR)/deb
	fakeroot dpkg -b deb $(APPNAME).deb
	$(MAKE) uninstall DESTDIR=$(CURDIR)/deb