2 # Integration between git and Debian-style archives
4 # Copyright (C)2013-2018 Ian Jackson
5 # Copyright (C)2019 Sean Whitton
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 INSTALL_DIR=$(INSTALL) -d
22 INSTALL_PROGRAM=$(INSTALL) -m 755
23 INSTALL_DATA=$(INSTALL) -m 644
28 mandir=$(prefix)/share/man
29 perldir=$(prefix)/share/perl5
30 man1dir=$(mandir)/man1
31 man5dir=$(mandir)/man5
32 man7dir=$(mandir)/man7
33 infraexamplesdir=$(prefix)/share/doc/dgit-infrastructure/examples
34 txtdocdir=$(prefix)/share/doc/dgit
35 absurddir=$(prefix)/share/dgit/absurd
37 PROGRAMS=dgit dgit-badcommit-fixup
41 dgit-user.7 dgit-nmu-simple.7 \
43 dgit-maint-merge.7 dgit-maint-gbp.7 \
44 dgit-maint-debrebase.7 \
45 dgit-downstream-dsc.7 \
48 TXTDOCS=README.dsc-import
51 Debian/Dgit/ExitStatus.pm \
55 GDR_PROGRAMS=git-debrebase
59 Debian/Dgit/ExitStatus.pm \
61 GDR_MAN1PAGES=git-debrebase.1
62 GDR_MAN5PAGES=git-debrebase.5
64 GDP_PROGRAMS=git-debpush
65 GDP_MAN1PAGES=git-debpush.1
67 INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch \
68 dgit-repos-policy-debian dgit-repos-admin-debian \
69 dgit-repos-policy-trusting dgit-mirror-rsync
70 INFRA_EXAMPLES=get-dm-txt ssh-wrap drs-cron-wrap get-suites
73 Debian/Dgit/Infra.pm \
74 Debian/Dgit/Policy/Debian.pm
76 MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \
77 $(GDR_MAN1PAGES) $(GDR_MAN5PAGES) \
80 all: $(MANPAGES) $(addprefix substituted/,$(PROGRAMS))
84 perl -pe 's{\bundef\b}{'\''$(absurddir)'\''} if m/###substituted###/' \
87 install: installdirs all
88 $(INSTALL_PROGRAM) $(addprefix substituted/,$(PROGRAMS)) \
90 $(INSTALL_PROGRAM) $(addprefix absurd/,$(ABSURDITIES)) \
91 $(DESTDIR)$(absurddir)
92 $(INSTALL_DATA) $(MAN1PAGES) $(DESTDIR)$(man1dir)
93 $(INSTALL_DATA) $(MAN7PAGES) $(DESTDIR)$(man7dir)
94 $(INSTALL_DATA) $(TXTDOCS) $(DESTDIR)$(txtdocdir)
95 set -e; for m in $(PERLMODULES); do \
96 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
100 $(INSTALL_DIR) $(DESTDIR)$(bindir) \
101 $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
102 $(DESTDIR)$(man7dir) \
103 $(DESTDIR)$(txtdocdir) $(DESTDIR)$(absurddir) \
104 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(PERLMODULES)))
106 install-gdp: installdirs-gdp
107 $(INSTALL_PROGRAM) $(GDP_PROGRAMS) $(DESTDIR)$(bindir)
108 $(INSTALL_DATA) $(GDP_MAN1PAGES) $(DESTDIR)$(man1dir)
110 install-gdr: installdirs-gdr
111 $(INSTALL_PROGRAM) $(GDR_PROGRAMS) $(DESTDIR)$(bindir)
112 $(INSTALL_DATA) $(GDR_MAN1PAGES) $(DESTDIR)$(man1dir)
113 $(INSTALL_DATA) $(GDR_MAN5PAGES) $(DESTDIR)$(man5dir)
114 set -e; for m in $(GDR_PERLMODULES); do \
115 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
118 install-infra: installdirs-infra
119 $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_PROGRAMS)) \
121 $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_EXAMPLES)) \
122 $(DESTDIR)$(infraexamplesdir)
123 set -e; for m in $(INFRA_PERLMODULES); do \
124 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
128 $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
131 $(INSTALL_DIR) $(DESTDIR)$(bindir) \
132 $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
133 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(GDR_PERLMODULES)))
136 $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(infraexamplesdir) \
137 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(INFRA_PERLMODULES)))
144 $(MAKE) -C po4a update
147 set -e; x=$$(git status --porcelain); set -x; test "x$$x" = x
149 git commit -a -m 'i18n-commit - autogenerated'
153 clean distclean mostlyclean maintainer-clean:
154 rm -rf tests/tmp substituted
155 set -e; for m in $(MANPAGES); do \
156 test -e $$m.pod && rm -f $$m; \
160 m=$@; pod2man --section=$${m##*.} --date="Debian Project" \
161 --center="dgit" --name=$${m%.*} \
164 git-debrebase.%: git-debrebase.%.pod
165 pod2man --section=$* --date="Debian Project" --center="git-debrebase" \
166 --name=$(subst .$*,,$@) \
169 git-debpush.1: git-debpush.1.pod
170 pod2man --section=1 --date="Debian Project" --center="git-debpush" \