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 ]"