tazpkg diff Makefile @ rev 343

Prepare for i18n with gettext
author Christophe Lincoln <pankso@slitaz.org>
date Sun Jun 20 11:52:56 2010 +0200 (2010-06-20)
parents 3a410bbead4c
children f6dba4eac84a
line diff
     1.1 --- a/Makefile	Wed Jan 06 22:04:04 2010 +0100
     1.2 +++ b/Makefile	Sun Jun 20 11:52:56 2010 +0200
     1.3 @@ -4,28 +4,64 @@
     1.4  DOCDIR?=$(PREFIX)/share/doc
     1.5  LIBDIR?=$(PREFIX)/lib/slitaz
     1.6  SYSCONFDIR?=/etc/slitaz
     1.7 +DESTDIR?=
     1.8 +LINGUAS?=fr
     1.9  
    1.10  all:
    1.11 -	grep "^VERSION=[0-9]" tazpkg | sed 's/VERSION=//'
    1.12  	
    1.13 -install:
    1.14 -	@echo "Installing Tazpkg into $(PREFIX)/bin..."
    1.15 -	install -g root -o root -m 0755 -d $(PREFIX)/bin
    1.16 -	install -g root -o root -m 0777 tazpkg $(PREFIX)/bin
    1.17 -	install -g root -o root -m 0777 tazpkgbox $(PREFIX)/bin
    1.18 -	@echo "Installing Tazpkgbox lib into $(LIBDIR)..."
    1.19 -	install -g root -o root -m 0755 -d $(LIBDIR)
    1.20 -	cp -a lib/tazpkgbox $(LIBDIR)
    1.21 +# i18n.
    1.22 +
    1.23 +pot:
    1.24 +	xgettext -o po/tazpkg/tazpkg.pot -L Shell ./tazpkg
    1.25 +	
    1.26 +msgmerge:
    1.27 +	@for l in $(LINGUAS); do \
    1.28 +		echo -n "Updating $$l po file."; \
    1.29 +		msgmerge -U po/tazpkg/$$l.po po/tazpkg/tazpkg.pot ; \
    1.30 +	done;
    1.31 +
    1.32 +msgfmt:
    1.33 +	@for l in $(LINGUAS); do \
    1.34 +		echo "Compiling $$l mo file..."; \
    1.35 +		mkdir -p po/mo/$$l/LC_MESSAGES; \
    1.36 +		msgfmt -o po/mo/$$l/LC_MESSAGES/tazpkg.mo po/tazpkg/$$l.po ; \
    1.37 +	done;
    1.38 +
    1.39 +# Installation.
    1.40 +
    1.41 +install: msgfmt
    1.42 +	@echo "Installing Tazpkg..."
    1.43 +	install -g root -o root -m 0755 -d $(DESTDIR)$(PREFIX)/bin
    1.44 +	install -g root -o root -m 0777 tazpkg $(DESTDIR)$(PREFIX)/bin
    1.45 +	install -g root -o root -m 0777 tazpkgbox $(DESTDIR)$(PREFIX)/bin
    1.46 +	@echo "Installing Tazpkgbox libraries..."
    1.47 +	install -g root -o root -m 0755 -d $(DESTDIR)$(LIBDIR)
    1.48 +	cp -a lib/tazpkgbox $(DESTDIR)$(LIBDIR)
    1.49  	@echo "Installing configuration files..."
    1.50 -	install -g root -o root -m 0755 -d $(SYSCONFDIR)
    1.51 -	install -g root -o root -m 0644 tazpkg.conf $(SYSCONFDIR)
    1.52 +	install -g root -o root -m 0755 -d $(DESTDIR)$(SYSCONFDIR)
    1.53 +	install -g root -o root -m 0644 tazpkg.conf $(DESTDIR)$(SYSCONFDIR)
    1.54  	@echo "Installing documentation files..."
    1.55 -	install -g root -o root -m 0755 -d $(DOCDIR)/tazpkg
    1.56 -	install -g root -o root -m 0644 doc/* $(DOCDIR)/tazpkg
    1.57 +	install -g root -o root -m 0755 -d $(DESTDIR)$(DOCDIR)/tazpkg
    1.58 +	install -g root -o root -m 0644 doc/* $(DESTDIR)$(DOCDIR)/tazpkg
    1.59 +	# i18n
    1.60 +	mkdir -p $(DESTDIR)$(PREFIX)/share/locale
    1.61 +	cp -a po/mo/* $(DESTDIR)$(PREFIX)/share/locale
    1.62 +	# Desktop integration
    1.63 +	@echo "Setting up desktop integration..."
    1.64 +	mkdir -p $(DESTDIR)$(PREFIX)/share
    1.65 +	cp -a  applications $(DESTDIR)$(PREFIX)/share
    1.66 +
    1.67 +# Uninstallation and clean-up commands.
    1.68  
    1.69  uninstall:
    1.70 -	rm -f $(PREFIX)/bin/tazpkg
    1.71 -	rm -f $(PREFIX)/bin/tazpkgbox
    1.72 -	rm -f $(LIBDIR)/tazpkgbox
    1.73 -	rm -rf $(DOCDIR)/tazpkg
    1.74 +	rm -f $(DESTDIR)$(PREFIX)/bin/tazpkg
    1.75 +	rm -f $(DESTDIR)$(PREFIX)/bin/tazpkgbox
    1.76 +	rm -rf $(DESTDIR)$(LIBDIR)/tazpkgbox
    1.77 +	rm -rf $(DESTDIR)$(DOCDIR)/tazpkg
    1.78 +	rm -f $(DESTDIR)$(SYSCONFDIR)/tazpkg.conf 
    1.79 +	rm -rf $(DESTDIR)$(PREFIX)/share/locale/*/LC_MESSAGES/tazpkg*.mo
    1.80  
    1.81 +clean:
    1.82 +	rm -rf _pkg
    1.83 +	rm -rf po/mo
    1.84 +