X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=Makefile;h=a0854a16d068374dcc9e3ce26a1b68f2c10e0e86;hp=3d9319a75bcbed28bbfd78decbdf8b0f9182cf1d;hb=707e502d2fb71f98f990edc12bd5fbd3d32dae52;hpb=76cbbc78a07e44b4c917bbaa93bf7cd602387082 diff --git a/Makefile b/Makefile index 3d9319a7..a0854a16 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # dgit # Integration between git and Debian-style archives # -# Copyright (C)2013-2015 Ian Jackson +# Copyright (C)2013-2016 Ian Jackson # # 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,31 +27,85 @@ 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 MAN1PAGES=dgit.1 -PERLMODULES=Debian/Dgit.pm + +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 \ + 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-repos-policy-trusting dgit-mirror-rsync INFRA_EXAMPLES=get-dm-txt ssh-wrap drs-cron-wrap get-suites -INFRA_PERLMODULES=Debian/Dgit/Policy/Debian.pm +INFRA_PERLMODULES= \ + Debian/Dgit.pm \ + Debian/Dgit/Infra.pm \ + Debian/Dgit/Policy/Debian.pm + +MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \ + $(GDR_MAN1PAGES) $(GDR_MAN5PAGES) -all: +all: $(MANPAGES) $(addprefix substituted/,$(PROGRAMS)) -install: installdirs - $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir) +substituted/%: % + mkdir -p substituted + perl -pe 's{\bundef\b}{'\''$(absurddir)'\''} if m/###substituted###/' \ + <$< >$@ + +install: installdirs all + $(INSTALL_PROGRAM) $(addprefix substituted/,$(PROGRAMS)) \ + $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) $(addprefix absurd/,$(ABSURDITIES)) \ + $(DESTDIR)$(absurddir) $(INSTALL_DATA) $(MAN1PAGES) $(DESTDIR)$(man1dir) + $(INSTALL_DATA) $(MAN7PAGES) $(DESTDIR)$(man7dir) + $(INSTALL_DATA) $(TXTDOCS) $(DESTDIR)$(txtdocdir) set -e; for m in $(PERLMODULES); do \ $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \ done installdirs: - $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) \ + $(INSTALL_DIR) $(DESTDIR)$(bindir) \ + $(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) @@ -61,10 +115,39 @@ 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 $(MANPAGES); do \ + test -e $$m.pod && rm -f $$m; \ + done + +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: % + man -l $*