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 git-playtree-setup
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 \
49 TXTDOCS=README.dsc-import
52 Debian/Dgit/ExitStatus.pm \
56 GDR_PROGRAMS=git-debrebase
60 Debian/Dgit/ExitStatus.pm \
62 GDR_MAN1PAGES=git-debrebase.1
63 GDR_MAN5PAGES=git-debrebase.5
65 GDP_PROGRAMS=git-debpush
66 GDP_MAN1PAGES=git-debpush.1
68 INFRA_PROGRAMS=dgit-repos-server dgit-ssh-dispatch dgit-mirror-ssh-wrap \
69 dgit-repos-policy-debian dgit-repos-admin-debian \
70 dgit-repos-policy-trusting dgit-mirror-rsync
71 INFRA_EXAMPLES=get-dm-txt ssh-wrap drs-cron-wrap get-suites
74 Debian/Dgit/Infra.pm \
75 Debian/Dgit/Policy/Debian.pm
77 MANPAGES=$(MAN1PAGES) $(MAN5PAGES) $(MAN7PAGES) \
78 $(GDR_MAN1PAGES) $(GDR_MAN5PAGES) \
81 all: $(MANPAGES) $(addprefix substituted/,$(PROGRAMS))
85 perl -pe 's{\bundef\b}{'\''$(absurddir)'\''} if m/###substituted###/' \
88 install: installdirs all
89 $(INSTALL_PROGRAM) $(addprefix substituted/,$(PROGRAMS)) \
91 $(INSTALL_PROGRAM) $(addprefix absurd/,$(ABSURDITIES)) \
92 $(DESTDIR)$(absurddir)
93 $(INSTALL_DATA) $(MAN1PAGES) $(DESTDIR)$(man1dir)
94 $(INSTALL_DATA) $(MAN7PAGES) $(DESTDIR)$(man7dir)
95 $(INSTALL_DATA) $(TXTDOCS) $(DESTDIR)$(txtdocdir)
96 set -e; for m in $(PERLMODULES); do \
97 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
101 $(INSTALL_DIR) $(DESTDIR)$(bindir) \
102 $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
103 $(DESTDIR)$(man7dir) \
104 $(DESTDIR)$(txtdocdir) $(DESTDIR)$(absurddir) \
105 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(PERLMODULES)))
107 install-gdp: installdirs-gdp
108 $(INSTALL_PROGRAM) $(GDP_PROGRAMS) $(DESTDIR)$(bindir)
109 $(INSTALL_DATA) $(GDP_MAN1PAGES) $(DESTDIR)$(man1dir)
111 install-gdr: installdirs-gdr
112 $(INSTALL_PROGRAM) $(GDR_PROGRAMS) $(DESTDIR)$(bindir)
113 $(INSTALL_DATA) $(GDR_MAN1PAGES) $(DESTDIR)$(man1dir)
114 $(INSTALL_DATA) $(GDR_MAN5PAGES) $(DESTDIR)$(man5dir)
115 set -e; for m in $(GDR_PERLMODULES); do \
116 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
119 install-infra: installdirs-infra
120 $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_PROGRAMS)) \
122 $(INSTALL_PROGRAM) $(addprefix infra/, $(INFRA_EXAMPLES)) \
123 $(DESTDIR)$(infraexamplesdir)
124 set -e; for m in $(INFRA_PERLMODULES); do \
125 $(INSTALL_DATA) $$m $(DESTDIR)$(perldir)/$${m%/*}; \
129 $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
132 $(INSTALL_DIR) $(DESTDIR)$(bindir) \
133 $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
134 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(GDR_PERLMODULES)))
137 $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(infraexamplesdir) \
138 $(addprefix $(DESTDIR)$(perldir)/, $(dir $(INFRA_PERLMODULES)))
145 $(MAKE) -C po4a update
148 set -e; x=$$(git status --porcelain); set -x; test "x$$x" = x
150 git commit -a -m 'i18n-commit - autogenerated'
154 clean distclean mostlyclean maintainer-clean:
155 rm -rf tests/tmp substituted
156 set -e; for m in $(MANPAGES); do \
157 test -e $$m.pod && rm -f $$m; \
161 m=$@; pod2man --section=$${m##*.} --date="Debian Project" \
162 --center="dgit" --name=$${m%.*} \
165 git-debrebase.%: git-debrebase.%.pod
166 pod2man --section=$* --date="Debian Project" --center="git-debrebase" \
167 --name=$(subst .$*,,$@) \
170 git-debpush.1: git-debpush.1.pod
171 pod2man --section=1 --date="Debian Project" --center="git-debpush" \