X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Makefile;h=87cff8b9bea79258568fa9fe2d83c0df9cbac18b;hb=193cfa37a544a2c44f9252b83da54ca1af01c01f;hp=68c1a026d3449c6b034b636dff93e6b56d3d59c1;hpb=ee8bb6a7f4f808b5cb798897c0d5995ce1da888d;p=dgit.git diff --git a/Makefile b/Makefile index 68c1a026..87cff8b9 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ # dgit # Integration between git and Debian-style archives # -# Copyright (C)2013-2016 Ian Jackson +# Copyright (C)2013-2018 Ian Jackson +# Copyright (C)2019 Sean Whitton # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,25 +28,44 @@ 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 +PROGRAMS=dgit dgit-badcommit-fixup git-playtree-setup 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-sponsorship.7 + dgit-maint-debrebase.7 \ + dgit-downstream-dsc.7 \ + dgit-sponsorship.7 \ + dgit-maint-bpo.7 TXTDOCS=README.dsc-import -PERLMODULES=Debian/Dgit.pm +PERLMODULES= \ + Debian/Dgit.pm \ + Debian/Dgit/ExitStatus.pm \ + Debian/Dgit/I18n.pm ABSURDITIES=git -INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch \ +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 + +GDP_PROGRAMS=git-debpush +GDP_MAN1PAGES=git-debpush.1 + +INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch dgit-mirror-ssh-wrap \ dgit-repos-policy-debian dgit-repos-admin-debian \ dgit-repos-policy-trusting dgit-mirror-rsync INFRA_EXAMPLES=get-dm-txt ssh-wrap drs-cron-wrap get-suites @@ -54,7 +74,11 @@ INFRA_PERLMODULES= \ Debian/Dgit/Infra.pm \ Debian/Dgit/Policy/Debian.pm -all: $(MAN7PAGES) $(addprefix substituted/,$(PROGRAMS)) +MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \ + $(GDR_MAN1PAGES) $(GDR_MAN5PAGES) \ + $(GDP_MAN1PAGES) + +all: $(MANPAGES) $(addprefix substituted/,$(PROGRAMS)) substituted/%: % mkdir -p substituted @@ -75,10 +99,23 @@ 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-gdp: installdirs-gdp + $(INSTALL_PROGRAM) $(GDP_PROGRAMS) $(DESTDIR)$(bindir) + $(INSTALL_DATA) $(GDP_MAN1PAGES) $(DESTDIR)$(man1dir) + +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,19 +125,52 @@ install-infra: installdirs-infra $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \ done +installdirs-gdp: + $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) + +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 + +i18n-commit: + set -e; x=$$(git status --porcelain); set -x; test "x$$x" = x + $(MAKE) i18n-update + git commit -a -m 'i18n-commit - autogenerated' + 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 .$*,,$@) \ + $^ $@ + +git-debpush.1: git-debpush.1.pod + pod2man --section=1 --date="Debian Project" --center="git-debpush" \ + --name git-debpush \ + $^ $@ + +%.view: % + man -l $*