tazpkg view Makefile @ rev 839

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sun Aug 16 19:29:19 2015 +0100 (2015-08-16)
parents f1c82b2d20aa
children a02e36d44d06
line source
1 # Makefile for TazPkg.
2 #
3 prefix?=/usr
4 exec_prefix?=$(prefix)
5 bindir?=$(exec_prefix)/bin
6 libexecdir?=$(exec_prefix)/libexec
7 datarootdir?=$(prefix)/share
8 sysconfdir?=/etc
9 docdir?=$(datarootdir)/doc/tazpkg
10 libdir?=$(exec_prefix)/lib
11 localedir?=$(datarootdir)/locale
12 iconsdir?=$(datarootdir)/icons
14 DESTDIR?=
15 LINGUAS?=el es fr pl pt_BR ru sv zh_CN zh_TW
17 VERSION:=$(shell grep ^VERSION=[0-9] tazpkg | cut -d'=' -f2)
18 ICONS = $(DESTDIR)$(iconsdir)/hicolor/32x32
20 tmpdir = tar-install/tazpkg-$(VERSION)
21 tarball = tazpkg-$(VERSION).tar.gz
23 all: msgfmt
26 # i18n.
28 pot:
29 xgettext -o po/tazpkg.pot -L Shell \
30 --package-name=TazPkg \
31 --package-version="$(VERSION)" -kaction -ktitle -kdie -k_ -k_n -k_p:1,2 \
32 ./tazpkg \
33 ./modules/convert ./modules/find-depends ./modules/help ./modules/info \
34 ./modules/list ./modules/mkdb ./modules/recharge ./modules/upgrade \
35 ./tazpkg-box ./tazpkg-notify ./tazpanel/pkgs.cgi
37 msgmerge:
38 @for l in $(LINGUAS); do \
39 if [ -f "po/$$l.po" ]; then \
40 echo -n "Updating $$l po file."; \
41 msgmerge -U po/$$l.po po/tazpkg.pot ; \
42 fi; \
43 done
45 msgfmt:
46 @for l in $(LINGUAS); do \
47 if [ -f "po/$$l.po" ]; then \
48 echo -n "Compiling tazpkg $$l mo file... "; \
49 mkdir -p po/mo/$$l/LC_MESSAGES; \
50 msgfmt -o po/mo/$$l/LC_MESSAGES/tazpkg.mo \
51 po/$$l.po ; \
52 echo "done"; \
53 fi; \
54 done;
57 # Installation.
59 install: msgfmt
60 # TazPkg command line interface
61 install -m 0755 -d $(DESTDIR)$(bindir)
62 install -m 0755 tazpkg $(DESTDIR)$(bindir)
64 # TazPkg modules
65 install -m 0755 -d $(DESTDIR)$(libexecdir)/tazpkg
66 install -m 0755 modules/* $(DESTDIR)$(libexecdir)/tazpkg
67 # Substitute "@@MODULES@@" with modules path
68 sed -i "s|@@MODULES@@|$(libexecdir)/tazpkg|g" $(DESTDIR)$(bindir)/tazpkg
69 sed -i "s|@@MODULES@@|$(libexecdir)/tazpkg|g" $(DESTDIR)$(libexecdir)/tazpkg/convert
71 # TazPkg-box GUI
72 install -m 0777 tazpkg-notify $(DESTDIR)$(bindir)
73 install -m 0777 tazpkg-box $(DESTDIR)$(bindir)
75 # Configuration files
76 install -m 0755 -d $(DESTDIR)$(sysconfdir)/slitaz
77 install -m 0644 tazpkg.conf $(DESTDIR)$(sysconfdir)/slitaz
79 # Documentation
80 install -m 0755 -d $(DESTDIR)$(docdir)
81 cp -a doc/* $(DESTDIR)$(docdir)
83 # TazPanel files
84 install -m 0755 -d $(DESTDIR)/var/www/tazpanel/menu.d
85 install -m 0755 tazpanel/pkgs.cgi $(DESTDIR)/var/www/tazpanel
86 ln -fs ../pkgs.cgi $(DESTDIR)/var/www/tazpanel/menu.d/pkgs
87 install -m 0755 -d $(DESTDIR)/var/www/tazpanel/styles/default
88 install -m 0644 tazpanel/pkgs.css $(DESTDIR)/var/www/tazpanel/styles/default
90 # The i18n files
91 install -m 0755 -d $(DESTDIR)$(localedir)
92 cp -a po/mo/* $(DESTDIR)$(localedir)
94 # Desktop integration
95 install -m 0755 -d $(DESTDIR)$(datarootdir)/applications
96 install -m 0644 applications/*.desktop $(DESTDIR)$(datarootdir)/applications
97 #cp -a mime $(DESTDIR)$(datarootdir) # moved to shared-mime-info package
99 # Default icons
100 install -m 0755 -d $(ICONS)/apps
101 install -m 0755 -d $(ICONS)/actions
102 install -m 0755 -d $(ICONS)/status
103 install -m 0644 pixmaps/tazpkg.png $(ICONS)/apps
104 install -m 0644 pixmaps/tazpkg-up.png $(ICONS)/actions
105 install -m 0644 pixmaps/tazpkg-installed.png $(ICONS)/status
106 ln -fs tazpkg.png $(ICONS)/apps/TazPkg.png # icon for Yad
108 # TazPkg Notify XDG autostart
109 mkdir -p $(DESTDIR)$(sysconfdir)/xdg
110 cp -a xdg/autostart $(DESTDIR)$(sysconfdir)/xdg
113 # Uninstallation and clean-up commands.
115 uninstall:
116 rm -f $(DESTDIR)$(bindir)/tazpkg
117 rm -rf $(DESTDIR)$(libexecdir)/tazpkg
119 rm -f $(DESTDIR)$(bindir)/tazpkg-notify
120 rm -f $(DESTDIR)$(bindir)/tazpkg-box
122 rm -f $(DESTDIR)$(sysconfdir)/slitaz/tazpkg.conf
124 rm -rf $(DESTDIR)$(docdir)/tazpkg*.html
125 rm $(DESTDIR)$(docdir)
127 rm -f $(DESTDIR)/var/www/tazpanel/pkgs.cgi
128 rm -f $(DESTDIR)/var/www/tazpanel/menu.d/pkgs
129 rm -f $(DESTDIR)/var/www/tazpanel/styles/default/pkgs.css
131 rm -rf $(DESTDIR)$(localedir)/*/LC_MESSAGES/tazpkg.mo
133 rm -f $(DESTDIR)$(datarootdir)/applications/tazpkg-*.desktop
134 rm -f $(DESTDIR)$(datarootdir)/applications/tazpanel-pkgs.desktop
136 rm -f $(ICONS)/apps/tazpkg.png
137 rm -f $(ICONS)/actions/tazpkg-up.png
138 rm -f $(ICONS)/status/tazpkg-installed.png
140 rm -f $(DESTDIR)$(sysconfdir)/xdg/autostart/tazpkg-notify.desktop
143 clean:
144 rm -rf _pkg
145 rm -rf tar-install
146 rm -rf po/mo
147 rm -f po/*~
148 rm -f po/*.mo
151 targz:
152 rm -rf ${tmpdir}
153 mkdir -p ${tmpdir}
155 make DESTDIR=${tmpdir} install
157 cd tar-install ; \
158 tar -cvzf ${tarball} tazpkg-$(VERSION) ; \
159 cd -
161 @echo "** Tarball successfully created in tar-install/${tarball}"
164 help:
165 @echo "make [ pot | msgmerge | msgfmt | all | install | uninstall | clear | targz ]"