2 # Integration between git and Debian-style archives
4 # Copyright (C)2013-2016 Ian Jackson
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20 INSTALL_DIR=$(INSTALL) -d
21 INSTALL_PROGRAM=$(INSTALL) -m 755
22 INSTALL_DATA=$(INSTALL) -m 644
27 mandir=$(prefix)/share/man
28 perldir=$(prefix)/share/perl5
29 man1dir=$(mandir)/man1
30 man5dir=$(mandir)/man5
31 man7dir=$(mandir)/man7
32 infraexamplesdir=$(prefix)/share/doc/dgit-infrastructure/examples
33 txtdocdir=$(prefix)/share/doc/dgit
34 absurddir=$(prefix)/share/dgit/absurd
36 PROGRAMS=dgit dgit-badcommit-fixup
40 dgit-user.7 dgit-nmu-simple.7 \
42 dgit-maint-merge.7 dgit-maint-gbp.7 \
43 dgit-maint-debrebase.7 \
44 dgit-downstream-dsc.7 \
47 TXTDOCS=README.dsc-import
50 Debian/Dgit/ExitStatus.pm \
54 GDR_PROGRAMS=git-debrebase
58 Debian/Dgit/ExitStatus.pm \
60 GDR_MAN1PAGES=git-debrebase.1
61 GDR_MAN5PAGES=git-debrebase.5
63 INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch \
64 dgit-repos-policy-debian dgit-repos-admin-debian \
65 dgit-repos-policy-trusting dgit-mirror-rsync
66 INFRA_EXAMPLES=get-dm-txt ssh-wrap drs-cron-wrap get-suites
69 Debian/Dgit/Infra.pm \
70 Debian/Dgit/Policy/Debian.pm
72 MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \
73 $(GDR_MAN1PAGES) $(GDR_MAN5PAGES)
75 all: $(MANPAGES) $(addprefix substituted/,$(PROGRAMS))
79 perl -pe 's{\bundef\b}{'\''$(absurddir)'\''} if m/###substituted###/' \
82 install: installdirs all
83 $(INSTALL_PROGRAM) $(addprefix substituted/,$(PROGRAMS)) \
85 $(INSTALL_PROGRAM) $(addprefix absurd/,$(ABSURDITIES)) \
86 $(DESTDIR)$(absurddir)
87 $(INSTALL_DATA) $(MAN1PAGES) $(DESTDIR)$(man1dir)
88 $(INSTALL_DATA) $(MAN7PAGES) $(DESTDIR)$(man7dir)
89 $(INSTALL_DATA) $(TXTDOCS) $(DESTDIR)$(txtdocdir)
90 set -e; for m in $(PERLMODULES); do \
91 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
95 $(INSTALL_DIR) $(DESTDIR)$(bindir) \
96 $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
97 $(DESTDIR)$(man7dir) \
98 $(DESTDIR)$(txtdocdir) $(DESTDIR)$(absurddir) \
99 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(PERLMODULES)))
101 install-gdr: installdirs-gdr
102 $(INSTALL_PROGRAM) $(GDR_PROGRAMS) $(DESTDIR)$(bindir)
103 $(INSTALL_DATA) $(GDR_MAN1PAGES) $(DESTDIR)$(man1dir)
104 $(INSTALL_DATA) $(GDR_MAN5PAGES) $(DESTDIR)$(man5dir)
105 set -e; for m in $(GDR_PERLMODULES); do \
106 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
109 install-infra: installdirs-infra
110 $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_PROGRAMS)) \
112 $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_EXAMPLES)) \
113 $(DESTDIR)$(infraexamplesdir)
114 set -e; for m in $(INFRA_PERLMODULES); do \
115 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
119 $(INSTALL_DIR) $(DESTDIR)$(bindir) \
120 $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
121 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(GDR_PERLMODULES)))
124 $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(infraexamplesdir) \
125 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(INFRA_PERLMODULES)))
132 $(MAKE) -C po4a update
135 set -e; x=$$(git status --porcelain); set -x; test "x$$x" = x
137 git commit -a -m 'i18n-commit - autogenerated'
141 clean distclean mostlyclean maintainer-clean:
142 rm -rf tests/tmp substituted
143 set -e; for m in $(MANPAGES); do \
144 test -e $$m.pod && rm -f $$m; \
148 m=$@; pod2man --section=$${m##*.} --date="Debian Project" \
149 --center="dgit" --name=$${m%.*} \
152 git-debrebase.%: git-debrebase.%.pod
153 pod2man --section=$* --date="Debian Project" --center="git-debrebase" \
154 --name=$(subst .$*,,$@) \