chiark / gitweb /
i18n: Provide `i18n-update' target in toplevel Makefile
[dgit.git] / Makefile
index 7e6ece33315e17d2a523b54e3ae362c806d75702..a0854a16d068374dcc9e3ce26a1b68f2c10e0e86 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -27,24 +27,39 @@ bindir=$(prefix)/bin
 mandir=$(prefix)/share/man
 perldir=$(prefix)/share/perl5
 man1dir=$(mandir)/man1
+man5dir=$(mandir)/man5
 man7dir=$(mandir)/man7
 infraexamplesdir=$(prefix)/share/doc/dgit-infrastructure/examples
 txtdocdir=$(prefix)/share/doc/dgit
 absurddir=$(prefix)/share/dgit/absurd
 
-PROGRAMS=dgit dgit-badcommit-fixup git-debrebase
+PROGRAMS=dgit dgit-badcommit-fixup
 MAN1PAGES=dgit.1
 
 MAN7PAGES=dgit.7                               \
        dgit-user.7 dgit-nmu-simple.7           \
        dgit-maint-native.7                     \
        dgit-maint-merge.7 dgit-maint-gbp.7     \
+       dgit-maint-debrebase.7                  \
+       dgit-downstream-dsc.7                   \
        dgit-sponsorship.7
 
 TXTDOCS=README.dsc-import
-PERLMODULES=Debian/Dgit.pm
+PERLMODULES= \
+       Debian/Dgit.pm \
+       Debian/Dgit/ExitStatus.pm \
+       Debian/Dgit/I18n.pm
 ABSURDITIES=git
 
+GDR_PROGRAMS=git-debrebase
+GDR_PERLMODULES= \
+       Debian/Dgit.pm \
+       Debian/Dgit/GDR.pm \
+       Debian/Dgit/ExitStatus.pm \
+       Debian/Dgit/I18n.pm
+GDR_MAN1PAGES=git-debrebase.1
+GDR_MAN5PAGES=git-debrebase.5
+
 INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch \
        dgit-repos-policy-debian dgit-repos-admin-debian \
        dgit-repos-policy-trusting dgit-mirror-rsync
@@ -54,7 +69,10 @@ INFRA_PERLMODULES= \
        Debian/Dgit/Infra.pm \
        Debian/Dgit/Policy/Debian.pm
 
-all:   $(MAN7PAGES) $(addprefix substituted/,$(PROGRAMS))
+MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \
+       $(GDR_MAN1PAGES) $(GDR_MAN5PAGES)
+
+all:   $(MANPAGES) $(addprefix substituted/,$(PROGRAMS))
 
 substituted/%: %
        mkdir -p substituted
@@ -75,10 +93,19 @@ install:    installdirs all
 
 installdirs:
        $(INSTALL_DIR) $(DESTDIR)$(bindir) \
-               $(DESTDIR)$(man1dir) $(DESTDIR)$(man7dir) \
+               $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
+               $(DESTDIR)$(man7dir) \
                $(DESTDIR)$(txtdocdir) $(DESTDIR)$(absurddir) \
                $(addprefix $(DESTDIR)$(perldir)/, $(dir $(PERLMODULES)))
 
+install-gdr:   installdirs-gdr
+       $(INSTALL_PROGRAM) $(GDR_PROGRAMS) $(DESTDIR)$(bindir)
+       $(INSTALL_DATA) $(GDR_MAN1PAGES) $(DESTDIR)$(man1dir)
+       $(INSTALL_DATA) $(GDR_MAN5PAGES) $(DESTDIR)$(man5dir)
+       set -e; for m in $(GDR_PERLMODULES); do \
+               $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
+       done
+
 install-infra: installdirs-infra
        $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_PROGRAMS)) \
                $(DESTDIR)$(bindir)
@@ -88,21 +115,38 @@ install-infra:     installdirs-infra
                $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
        done
 
+installdirs-gdr:
+       $(INSTALL_DIR) $(DESTDIR)$(bindir) \
+               $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
+               $(addprefix $(DESTDIR)$(perldir)/, $(dir $(GDR_PERLMODULES)))
+
 installdirs-infra:
        $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(infraexamplesdir) \
                $(addprefix $(DESTDIR)$(perldir)/, $(dir $(INFRA_PERLMODULES)))
 
+list-manpages:
+       @echo $(MANPAGES)
+
+i18n i18n-update:
+       $(MAKE) -C po update
+       $(MAKE) -C po4a update
+
 check installcheck:
 
 clean distclean mostlyclean maintainer-clean:
        rm -rf tests/tmp substituted
-       set -e; for m in $(MAN7PAGES); do \
+       set -e; for m in $(MANPAGES); do \
                test -e $$m.pod && rm -f $$m; \
        done
 
-%.7: %.7.pod
-       pod2man --section=7 --date="Debian Project" --center="dgit" \
-               --name=$(subst .7,,$@) \
+dgit%: dgit%.pod
+       m=$@; pod2man --section=$${m##*.} --date="Debian Project" \
+               --center="dgit" --name=$${m%.*} \
+               $^ $@
+
+git-debrebase.%: git-debrebase.%.pod
+       pod2man --section=$* --date="Debian Project" --center="git-debrebase" \
+               --name=$(subst .$*,,$@) \
                $^ $@
 
 %.view:        %