tazpkg annotate Makefile @ rev 899
Add tazpkg-notification.c to get feedback from notification bubble with action button(s), rework tazpkg-notify; make pot & msgmerge
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Wed Mar 09 05:22:42 2016 +0200 (2016-03-09) |
parents | d2e1b7133079 |
children | 04c88406e575 |
rev | line source |
---|---|
al@633 | 1 # Makefile for TazPkg. |
pankso@5 | 2 # |
al@840 | 3 prefix ?= /usr |
al@840 | 4 exec_prefix ?= $(prefix) |
al@840 | 5 bindir ?= $(exec_prefix)/bin |
al@840 | 6 libexecdir ?= $(exec_prefix)/libexec |
al@840 | 7 datarootdir ?= $(prefix)/share |
al@840 | 8 sysconfdir ?= /etc |
al@840 | 9 docdir ?= $(datarootdir)/doc/tazpkg |
al@840 | 10 libdir ?= $(exec_prefix)/lib |
al@840 | 11 localedir ?= $(datarootdir)/locale |
al@840 | 12 iconsdir ?= $(datarootdir)/icons |
al@822 | 13 |
al@840 | 14 DESTDIR ?= |
al@840 | 15 LINGUAS ?= el es fr pl pt_BR ru sv zh_CN zh_TW |
al@840 | 16 MODULES := $(shell ls modules) |
pankso@5 | 17 |
al@840 | 18 VERSION := 5.0 |
al@822 | 19 ICONS = $(DESTDIR)$(iconsdir)/hicolor/32x32 |
pankso@452 | 20 |
erjo@529 | 21 tmpdir = tar-install/tazpkg-$(VERSION) |
erjo@529 | 22 tarball = tazpkg-$(VERSION).tar.gz |
erjo@529 | 23 |
al@840 | 24 .PHONY: all pot msgmerge msgfmt install uninstall clean targz help |
al@840 | 25 |
al@899 | 26 all: msgfmt notify |
al@840 | 27 mkdir build |
al@840 | 28 cp -a tazpkg tazpkg-box tazpkg-notify \ |
al@840 | 29 modules/* tazpanel/pkgs.cgi tazpanel/pkgs.css \ |
al@886 | 30 doc/tazpkg.*.html build |
al@840 | 31 ./stripall.sh |
al@633 | 32 |
al@840 | 33 # Substitute "@@MODULES@@" with modules path |
al@840 | 34 find build -type f -exec sed -i "s|@@MODULES@@|$(libexecdir)/tazpkg|g" \{\} \; |
al@695 | 35 |
pankso@343 | 36 # i18n. |
pankso@343 | 37 |
pankso@343 | 38 pot: |
al@633 | 39 xgettext -o po/tazpkg.pot -L Shell \ |
al@633 | 40 --package-name=TazPkg \ |
al@828 | 41 --package-version="$(VERSION)" -kaction -ktitle -kdie -k_ -k_n -k_p:1,2 \ |
al@840 | 42 tazpkg \ |
al@840 | 43 $(foreach module, $(MODULES), modules/$(module) ) \ |
al@840 | 44 tazpkg-box tazpkg-notify tazpanel/pkgs.cgi |
al@633 | 45 |
pankso@343 | 46 msgmerge: |
pankso@343 | 47 @for l in $(LINGUAS); do \ |
al@633 | 48 if [ -f "po/$$l.po" ]; then \ |
pankso@472 | 49 echo -n "Updating $$l po file."; \ |
al@633 | 50 msgmerge -U po/$$l.po po/tazpkg.pot ; \ |
pankso@471 | 51 fi; \ |
pankso@499 | 52 done |
pankso@343 | 53 |
pankso@343 | 54 msgfmt: |
pankso@343 | 55 @for l in $(LINGUAS); do \ |
al@633 | 56 if [ -f "po/$$l.po" ]; then \ |
pankso@500 | 57 echo -n "Compiling tazpkg $$l mo file... "; \ |
pankso@472 | 58 mkdir -p po/mo/$$l/LC_MESSAGES; \ |
pankso@472 | 59 msgfmt -o po/mo/$$l/LC_MESSAGES/tazpkg.mo \ |
al@633 | 60 po/$$l.po ; \ |
pankso@500 | 61 echo "done"; \ |
pankso@472 | 62 fi; \ |
pankso@343 | 63 done; |
pankso@343 | 64 |
al@899 | 65 notify: |
al@899 | 66 gcc tazpkg-notification.c -o tazpkg-notification $(CFLAGS) \ |
al@899 | 67 $(shell pkg-config --cflags --libs libnotify) |
al@899 | 68 |
al@695 | 69 |
pankso@343 | 70 # Installation. |
pankso@343 | 71 |
erjo@529 | 72 install: msgfmt |
al@633 | 73 # TazPkg command line interface |
al@840 | 74 install -m 0755 -d $(DESTDIR)$(bindir) |
al@840 | 75 install -m 0755 build/tazpkg $(DESTDIR)$(bindir) |
al@822 | 76 |
al@822 | 77 # TazPkg modules |
al@840 | 78 install -m 0755 -d $(DESTDIR)$(libexecdir)/tazpkg |
al@840 | 79 $(foreach module, $(MODULES), install -m 0755 build/$(module) $(DESTDIR)$(libexecdir)/tazpkg;) |
al@695 | 80 |
al@633 | 81 # TazPkg-box GUI |
al@899 | 82 install -m 0755 build/tazpkg-notify $(DESTDIR)$(bindir) |
al@899 | 83 install -m 0755 tazpkg-notification $(DESTDIR)$(libexecdir) |
al@899 | 84 install -m 0755 build/tazpkg-box $(DESTDIR)$(bindir) |
al@695 | 85 |
pankso@345 | 86 # Configuration files |
al@822 | 87 install -m 0755 -d $(DESTDIR)$(sysconfdir)/slitaz |
al@822 | 88 install -m 0644 tazpkg.conf $(DESTDIR)$(sysconfdir)/slitaz |
al@840 | 89 sed -i "s|@@sysconfdir@@|$(sysconfdir)|g" $(DESTDIR)$(sysconfdir)/slitaz/tazpkg.conf |
al@695 | 90 |
pankso@345 | 91 # Documentation |
al@822 | 92 install -m 0755 -d $(DESTDIR)$(docdir) |
al@886 | 93 cp -a build/tazpkg.*.html $(DESTDIR)$(docdir) |
al@886 | 94 ln -sf tazpkg.en.html $(DESTDIR)$(docdir)/tazpkg.html |
al@695 | 95 |
al@633 | 96 # TazPanel files |
al@840 | 97 install -m 0755 -d $(DESTDIR)/var/www/tazpanel/menu.d |
al@840 | 98 install -m 0755 build/pkgs.cgi $(DESTDIR)/var/www/tazpanel |
al@840 | 99 ln -fs ../pkgs.cgi $(DESTDIR)/var/www/tazpanel/menu.d/pkgs |
al@840 | 100 install -m 0755 -d $(DESTDIR)/var/www/tazpanel/styles/default |
al@840 | 101 install -m 0644 build/gz/pkgs.css.gz $(DESTDIR)/var/www/tazpanel/styles/default |
al@695 | 102 |
pankso@345 | 103 # The i18n files |
al@822 | 104 install -m 0755 -d $(DESTDIR)$(localedir) |
al@822 | 105 cp -a po/mo/* $(DESTDIR)$(localedir) |
al@695 | 106 |
pankso@343 | 107 # Desktop integration |
al@822 | 108 install -m 0755 -d $(DESTDIR)$(datarootdir)/applications |
al@822 | 109 install -m 0644 applications/*.desktop $(DESTDIR)$(datarootdir)/applications |
al@822 | 110 #cp -a mime $(DESTDIR)$(datarootdir) # moved to shared-mime-info package |
al@710 | 111 |
al@710 | 112 # Default icons |
al@710 | 113 install -m 0755 -d $(ICONS)/apps |
al@710 | 114 install -m 0755 -d $(ICONS)/actions |
al@710 | 115 install -m 0755 -d $(ICONS)/status |
al@804 | 116 install -m 0644 pixmaps/tazpkg.png $(ICONS)/apps |
al@804 | 117 install -m 0644 pixmaps/tazpkg-up.png $(ICONS)/actions |
al@804 | 118 install -m 0644 pixmaps/tazpkg-installed.png $(ICONS)/status |
al@840 | 119 #ln -fs tazpkg.png $(ICONS)/apps/TazPkg.png # icon for Yad |
al@695 | 120 |
al@695 | 121 # TazPkg Notify XDG autostart |
al@822 | 122 mkdir -p $(DESTDIR)$(sysconfdir)/xdg |
al@822 | 123 cp -a xdg/autostart $(DESTDIR)$(sysconfdir)/xdg |
al@695 | 124 |
pankso@343 | 125 |
pankso@343 | 126 # Uninstallation and clean-up commands. |
pankso@5 | 127 |
pankso@5 | 128 uninstall: |
al@822 | 129 rm -f $(DESTDIR)$(bindir)/tazpkg |
al@824 | 130 rm -rf $(DESTDIR)$(libexecdir)/tazpkg |
al@695 | 131 |
al@822 | 132 rm -f $(DESTDIR)$(bindir)/tazpkg-notify |
al@822 | 133 rm -f $(DESTDIR)$(bindir)/tazpkg-box |
al@695 | 134 |
al@822 | 135 rm -f $(DESTDIR)$(sysconfdir)/slitaz/tazpkg.conf |
al@695 | 136 |
al@822 | 137 rm -rf $(DESTDIR)$(docdir)/tazpkg*.html |
al@822 | 138 rm $(DESTDIR)$(docdir) |
al@695 | 139 |
al@695 | 140 rm -f $(DESTDIR)/var/www/tazpanel/pkgs.cgi |
al@695 | 141 rm -f $(DESTDIR)/var/www/tazpanel/menu.d/pkgs |
al@822 | 142 rm -f $(DESTDIR)/var/www/tazpanel/styles/default/pkgs.css |
al@695 | 143 |
al@822 | 144 rm -rf $(DESTDIR)$(localedir)/*/LC_MESSAGES/tazpkg.mo |
al@695 | 145 |
al@822 | 146 rm -f $(DESTDIR)$(datarootdir)/applications/tazpkg-*.desktop |
al@822 | 147 rm -f $(DESTDIR)$(datarootdir)/applications/tazpanel-pkgs.desktop |
al@695 | 148 |
al@710 | 149 rm -f $(ICONS)/apps/tazpkg.png |
al@710 | 150 rm -f $(ICONS)/actions/tazpkg-up.png |
al@710 | 151 rm -f $(ICONS)/status/tazpkg-installed.png |
al@695 | 152 |
al@822 | 153 rm -f $(DESTDIR)$(sysconfdir)/xdg/autostart/tazpkg-notify.desktop |
al@695 | 154 |
erjo@259 | 155 |
pankso@343 | 156 clean: |
al@840 | 157 rm -rf build |
pankso@343 | 158 rm -rf _pkg |
erjo@529 | 159 rm -rf tar-install |
pankso@343 | 160 rm -rf po/mo |
al@633 | 161 rm -f po/*~ |
al@633 | 162 rm -f po/*.mo |
al@695 | 163 |
erjo@529 | 164 |
erjo@529 | 165 targz: |
erjo@529 | 166 rm -rf ${tmpdir} |
erjo@529 | 167 mkdir -p ${tmpdir} |
al@695 | 168 |
erjo@529 | 169 make DESTDIR=${tmpdir} install |
al@695 | 170 |
erjo@529 | 171 cd tar-install ; \ |
al@822 | 172 tar -cvzf ${tarball} tazpkg-$(VERSION) ; \ |
erjo@529 | 173 cd - |
al@695 | 174 |
erjo@529 | 175 @echo "** Tarball successfully created in tar-install/${tarball}" |
al@633 | 176 |
al@695 | 177 |
al@633 | 178 help: |
al@633 | 179 @echo "make [ pot | msgmerge | msgfmt | all | install | uninstall | clear | targz ]" |