# Makefile for dhelp project # Copyright (C) 2005 Esteban Manchado Velázquez # Copyright (C) 2012 Georgios M. Zarkadas # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2, or (at your option) any # later version. # This file is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied warranty # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # You should have received a copy of the GNU General Public License # along with this file; see the file COPYING. If not, write to the Free # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. PACKAGE := dhelp VERSION = $(shell dpkg-parsechangelog | egrep Version: | sed 's/Version: //') # We rely on caller to have set proper values for PREFIX, DESTDIR. PREFIX_ = $(if $(PREFIX),$(PREFIX),/usr/local) DESTDIR_ = $(DESTDIR)/$(PREFIX_) bindir = $(DESTDIR_)/bin sbindir = $(DESTDIR_)/sbin cgidir = $(DESTDIR_)/lib/cgi-bin confdir = $(DESTDIR)/etc sharedir = $(DESTDIR_)/share/$(PACKAGE) docdir = $(DESTDIR_)/share/doc/$(PACKAGE) # The caller should define VENDOR_RUBY to use the new location for ruby # libraries from squeeze and onwards; OLD_VENDOR_RUBY for wheezy and onwards. # Undefine it to backport the package to previous Debian releases. ifdef VENDOR_RUBY rubydir = $(DESTDIR_)/lib/ruby/vendor_ruby/ else ifdef OLD_VENDOR_RUBY rubydir = $(DESTDIR_)/lib/ruby/vendor_ruby/1.8 else rubydir = $(DESTDIR_)/lib/ruby/1.8 endif endif # Templates and Perl-related variables RHTML_TEMPLATES = templates/*.rhtml TMPL_TEMPLATES = templates/*.tmpl PERL_I18N_PROGRAMS = src/dsearch .PHONY: install all clean test updatepo po-file .PHONY: install-bin install-lib install-shared .PHONY: install-doc install-conf install-po # Nothing to be done for all since we do not need to compile anything. all: # Note that since dhelp is inherently a debian-specific package, we currently # delegate the caller (debian/rules) to install manpages, examples and common # files. install: install-bin install-lib install-shared install-doc install-conf install-po ## Executable files install-bin: install -D src/dhelp $(bindir)/dhelp # Update $version variable in dhelp sed -i 's/__VERSION__/$(VERSION)/' $(bindir)/dhelp install -D src/dsearch $(cgidir)/dsearch install -D src/dhelp_fetcher.rb $(cgidir)/dhelp_fetcher install -D src/dhelp_parse.rb $(sbindir)/dhelp_parse # Update PREFIX variable in dhelp_parse.rb sed -i 's|^PREFIX = .*|PREFIX = "$(PREFIX_)"|' $(sbindir)/dhelp_parse chmod a+x $(sbindir)/dhelp_parse ## Ruby libraries install-lib: install --directory $(rubydir)/dhelp/exporter install --mode=644 lib/*.rb $(rubydir) install --mode=644 lib/dhelp/exporter/*.rb $(rubydir)/dhelp/exporter ## Shared files (web server configuration, scripts, page templates) install-shared: install --directory $(sharedir)/config $(sharedir)/scripts $(sharedir)/templates install --mode=644 config/* $(sharedir)/config install scripts/* $(sharedir)/scripts install --mode=644 templates/* $(sharedir)/templates # CSS stuff and documents install-doc: install --directory $(docdir)/css install --mode=644 doc/css/* $(docdir)/css ## Our and web servers configuration under /etc install-conf: install -D --mode=644 config/dhelp.conf-sample $(confdir)/dhelp.conf install -D --mode=644 config/apache-dhelp-2.2.conf $(confdir)/apache2/conf.d/dhelp.conf install -D --mode=644 config/apache-dhelp.conf $(confdir)/apache2/conf-available/dhelp.conf install -D --mode=644 config/lighttpd-dhelp.conf $(confdir)/lighttpd/conf-available/95-dhelp.conf ## Translations install-po: for i in po/*.po; do \ langdir=share/locale/`basename $$i .po`/LC_MESSAGES; \ mkdir -p $(DESTDIR_)/$$langdir; \ rmsgfmt -o $(DESTDIR_)/$$langdir/dhelp.mo $$i; \ done # Nothing to be done for clean since we do not need to compile anything. # This is to suppress the (ignored anyway) dpkg error from the build log. clean: # Note that we use a specific ruby version. This line # must change in sync with $(rubydir) definition, above. test: RUBYLIB=lib:test ruby1.8 -w test/ts_dhelp.rb updatepo: po/*.po reportpo: podebconf-report-po --call --withtranslators --languageteam --podir po/ po/dhelp.pot: $(RHTML_TEMPLATES) $(TMPL_TEMPLATES) $(PERL_I18N_PROGRAMS) rgettext $(RHTML_TEMPLATES) >po/dhelp.pot xgettext --language=c --keyword=t --join-existing -o po/dhelp.pot $(TMPL_TEMPLATES) xgettext --language=perl --keyword=_ --join-existing -o po/dhelp.pot $(PERL_I18N_PROGRAMS) po/%.po: po-file msgmerge $@ po/dhelp.pot > $@.tmp mv -f $@.tmp $@