# dgit # Integration between git and Debian-style archives # # 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 # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program 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 program. If not, see . INSTALL=install INSTALL_DIR=$(INSTALL) -d INSTALL_PROGRAM=$(INSTALL) -m 755 INSTALL_DATA=$(INSTALL) -m 644 prefix?=/usr/local 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 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 \ 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 INFRA_EXAMPLES=get-dm-txt ssh-wrap drs-cron-wrap get-suites INFRA_PERLMODULES= \ Debian/Dgit.pm \ Debian/Dgit/Infra.pm \ Debian/Dgit/Policy/Debian.pm MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \ $(GDR_MAN1PAGES) $(GDR_MAN5PAGES) all: $(MANPAGES) $(addprefix substituted/,$(PROGRAMS)) 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) $(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) $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_EXAMPLES)) \ $(DESTDIR)$(infraexamplesdir) set -e; for m in $(INFRA_PERLMODULES); do \ $(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) 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 $*