tazpkg annotate Makefile @ rev 895

Module 'help': support unordered list
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sun Dec 20 22:59:00 2015 +0200 (2015-12-20)
parents a02e36d44d06
children 54ebb19d4cc6
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
pankso@500 26 all: msgfmt
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@695 65
pankso@343 66 # Installation.
pankso@343 67
erjo@529 68 install: msgfmt
al@633 69 # TazPkg command line interface
al@840 70 install -m 0755 -d $(DESTDIR)$(bindir)
al@840 71 install -m 0755 build/tazpkg $(DESTDIR)$(bindir)
al@822 72
al@822 73 # TazPkg modules
al@840 74 install -m 0755 -d $(DESTDIR)$(libexecdir)/tazpkg
al@840 75 $(foreach module, $(MODULES), install -m 0755 build/$(module) $(DESTDIR)$(libexecdir)/tazpkg;)
al@695 76
al@633 77 # TazPkg-box GUI
al@840 78 install -m 0777 build/tazpkg-notify $(DESTDIR)$(bindir)
al@840 79 install -m 0777 build/tazpkg-box $(DESTDIR)$(bindir)
al@695 80
pankso@345 81 # Configuration files
al@822 82 install -m 0755 -d $(DESTDIR)$(sysconfdir)/slitaz
al@822 83 install -m 0644 tazpkg.conf $(DESTDIR)$(sysconfdir)/slitaz
al@840 84 sed -i "s|@@sysconfdir@@|$(sysconfdir)|g" $(DESTDIR)$(sysconfdir)/slitaz/tazpkg.conf
al@695 85
pankso@345 86 # Documentation
al@822 87 install -m 0755 -d $(DESTDIR)$(docdir)
al@886 88 cp -a build/tazpkg.*.html $(DESTDIR)$(docdir)
al@886 89 ln -sf tazpkg.en.html $(DESTDIR)$(docdir)/tazpkg.html
al@695 90
al@633 91 # TazPanel files
al@840 92 install -m 0755 -d $(DESTDIR)/var/www/tazpanel/menu.d
al@840 93 install -m 0755 build/pkgs.cgi $(DESTDIR)/var/www/tazpanel
al@840 94 ln -fs ../pkgs.cgi $(DESTDIR)/var/www/tazpanel/menu.d/pkgs
al@840 95 install -m 0755 -d $(DESTDIR)/var/www/tazpanel/styles/default
al@840 96 install -m 0644 build/gz/pkgs.css.gz $(DESTDIR)/var/www/tazpanel/styles/default
al@695 97
pankso@345 98 # The i18n files
al@822 99 install -m 0755 -d $(DESTDIR)$(localedir)
al@822 100 cp -a po/mo/* $(DESTDIR)$(localedir)
al@695 101
pankso@343 102 # Desktop integration
al@822 103 install -m 0755 -d $(DESTDIR)$(datarootdir)/applications
al@822 104 install -m 0644 applications/*.desktop $(DESTDIR)$(datarootdir)/applications
al@822 105 #cp -a mime $(DESTDIR)$(datarootdir) # moved to shared-mime-info package
al@710 106
al@710 107 # Default icons
al@710 108 install -m 0755 -d $(ICONS)/apps
al@710 109 install -m 0755 -d $(ICONS)/actions
al@710 110 install -m 0755 -d $(ICONS)/status
al@804 111 install -m 0644 pixmaps/tazpkg.png $(ICONS)/apps
al@804 112 install -m 0644 pixmaps/tazpkg-up.png $(ICONS)/actions
al@804 113 install -m 0644 pixmaps/tazpkg-installed.png $(ICONS)/status
al@840 114 #ln -fs tazpkg.png $(ICONS)/apps/TazPkg.png # icon for Yad
al@695 115
al@695 116 # TazPkg Notify XDG autostart
al@822 117 mkdir -p $(DESTDIR)$(sysconfdir)/xdg
al@822 118 cp -a xdg/autostart $(DESTDIR)$(sysconfdir)/xdg
al@695 119
pankso@343 120
pankso@343 121 # Uninstallation and clean-up commands.
pankso@5 122
pankso@5 123 uninstall:
al@822 124 rm -f $(DESTDIR)$(bindir)/tazpkg
al@824 125 rm -rf $(DESTDIR)$(libexecdir)/tazpkg
al@695 126
al@822 127 rm -f $(DESTDIR)$(bindir)/tazpkg-notify
al@822 128 rm -f $(DESTDIR)$(bindir)/tazpkg-box
al@695 129
al@822 130 rm -f $(DESTDIR)$(sysconfdir)/slitaz/tazpkg.conf
al@695 131
al@822 132 rm -rf $(DESTDIR)$(docdir)/tazpkg*.html
al@822 133 rm $(DESTDIR)$(docdir)
al@695 134
al@695 135 rm -f $(DESTDIR)/var/www/tazpanel/pkgs.cgi
al@695 136 rm -f $(DESTDIR)/var/www/tazpanel/menu.d/pkgs
al@822 137 rm -f $(DESTDIR)/var/www/tazpanel/styles/default/pkgs.css
al@695 138
al@822 139 rm -rf $(DESTDIR)$(localedir)/*/LC_MESSAGES/tazpkg.mo
al@695 140
al@822 141 rm -f $(DESTDIR)$(datarootdir)/applications/tazpkg-*.desktop
al@822 142 rm -f $(DESTDIR)$(datarootdir)/applications/tazpanel-pkgs.desktop
al@695 143
al@710 144 rm -f $(ICONS)/apps/tazpkg.png
al@710 145 rm -f $(ICONS)/actions/tazpkg-up.png
al@710 146 rm -f $(ICONS)/status/tazpkg-installed.png
al@695 147
al@822 148 rm -f $(DESTDIR)$(sysconfdir)/xdg/autostart/tazpkg-notify.desktop
al@695 149
erjo@259 150
pankso@343 151 clean:
al@840 152 rm -rf build
pankso@343 153 rm -rf _pkg
erjo@529 154 rm -rf tar-install
pankso@343 155 rm -rf po/mo
al@633 156 rm -f po/*~
al@633 157 rm -f po/*.mo
al@695 158
erjo@529 159
erjo@529 160 targz:
erjo@529 161 rm -rf ${tmpdir}
erjo@529 162 mkdir -p ${tmpdir}
al@695 163
erjo@529 164 make DESTDIR=${tmpdir} install
al@695 165
erjo@529 166 cd tar-install ; \
al@822 167 tar -cvzf ${tarball} tazpkg-$(VERSION) ; \
erjo@529 168 cd -
al@695 169
erjo@529 170 @echo "** Tarball successfully created in tar-install/${tarball}"
al@633 171
al@695 172
al@633 173 help:
al@633 174 @echo "make [ pot | msgmerge | msgfmt | all | install | uninstall | clear | targz ]"