Bump to 1.49.3
[platform/upstream/help2man.git] / Makefile.in
1 # Makefile for help2man
2
3 # Copyright (C) 2012, 2014, 2022 Free Software Foundation, Inc.
4
5 # Copying and distribution of this file, with or without modification,
6 # are permitted in any medium without royalty provided the copyright
7 # notice and this notice are preserved.  This file is offered as-is,
8 # without any warranty.
9
10 # Written by Brendan O'Dea <bod@debian.org>
11
12 srcdir = @srcdir@
13 auxdir = @auxdir@
14 prefix = @prefix@
15 exec_prefix = @exec_prefix@
16
17 bindir = @bindir@
18 libdir = @libdir@
19 pkglibdir = $(libdir)/help2man
20 datarootdir = @datarootdir@
21 mandir = @mandir@
22 datadir = @datadir@
23 infodir = @infodir@
24 localedir = $(datadir)/locale
25
26 export SHELL = @SHELL@
27 export VPATH = .:$(srcdir)
28
29 DESTDIR =
30 LINGUAS = $(basename $(notdir $(wildcard $(srcdir)/po/*.po)))
31 LINGUAS_TEXI = $(basename $(notdir $(wildcard $(srcdir)/po-texi/*.po)))
32
33 CC = @CC@
34 PERL = @PERL@
35 LIBS = @LIBS@
36 FIND_VPATH = $(auxdir)/find-vpath  # locate a file in $VPATH
37 MKINSTALLDIRS = $(auxdir)/mkinstalldirs
38 INSTALL = @INSTALL@
39 INSTALL_PROGRAM = @INSTALL_PROGRAM@
40 INSTALL_SCRIPT = @INSTALL_SCRIPT@
41 INSTALL_DATA = @INSTALL_DATA@
42 INSTALL_INFO = @INSTALL_INFO@
43 LOOKUP_LOCALE = $(auxdir)/lookup-locale  # get full locale from extension
44 MAKEINFO = @MAKEINFO@
45 MSGFMT = @MSGFMT@
46 XGETTEXT = @XGETTEXT@
47 MSGMERGE = @MSGMERGE@
48 PO4A_UPDATEPO = @PO4A_UPDATEPO@
49 PO4A_TRANSLATE = @PO4A_TRANSLATE@
50
51 # Tweaks to extracted texinfo catalog, and generated output.
52 FIXUP_TEXI_POT = @PERL@ $(auxdir)/fixup-texi-pot
53 FIXUP_TEXI_TRANS = @PERL@ $(auxdir)/fixup-texi-trans
54
55 target = help2man
56 preload = bindtextdomain
57
58 all: $(target) man info @extra_make_all@
59
60 install: all install_base @extra_make_install@
61
62 install_base:
63         $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
64         $(INSTALL_SCRIPT) $(target) $(DESTDIR)$(bindir)
65         $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man1
66         $(INSTALL_DATA) $$($(FIND_VPATH) $(target).1) $(DESTDIR)$(mandir)/man1
67         $(MKINSTALLDIRS) $(DESTDIR)$(infodir)
68         $(INSTALL_DATA) $$($(FIND_VPATH) $(target).info) \
69             $(DESTDIR)$(infodir)/$(target).info
70
71         if test -f $(DESTDIR)$(infodir)/dir; \
72         then \
73             $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) \
74                 $(DESTDIR)$(infodir)/$(target).info; \
75         fi
76
77 install_preload: preload
78         $(MKINSTALLDIRS) $(DESTDIR)$(pkglibdir)
79         $(INSTALL_PROGRAM) $(preload).so $(DESTDIR)$(pkglibdir)
80
81 install_l10n: msg_l10n man_l10n info_l10n
82         set -e; \
83         for lang in $(LINGUAS); \
84         do \
85             $(MKINSTALLDIRS) $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
86             $(INSTALL_DATA) $$($(FIND_VPATH) po/$$lang.gmo) \
87                 $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(target).mo; \
88             $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/$$lang/man1; \
89             $(INSTALL_DATA) $$($(FIND_VPATH) $(target).$$lang.1) \
90                 $(DESTDIR)$(mandir)/$$lang/man1/$(target).1; \
91         done; \
92         for lang in $(LINGUAS_TEXI); \
93         do \
94             $(MKINSTALLDIRS) $(DESTDIR)$(infodir); \
95             $(INSTALL_DATA) $$($(FIND_VPATH) $(target)-$$lang.info) \
96                 $(DESTDIR)$(infodir)/$(target)-$$lang.info; \
97             if test -f $(DESTDIR)$(infodir)/dir; \
98             then \
99                 $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) \
100                     $(DESTDIR)$(infodir)/$(target)-$$lang.info; \
101             fi; \
102         done
103
104 uninstall:
105         if test -f $(DESTDIR)$(infodir)/dir; \
106         then \
107             for file in $(DESTDIR)$(infodir)/$(target).info \
108                 $(DESTDIR)$(infodir)/$(target)-*.info; \
109                 test -f $$file || continue; \
110                 $(INSTALL_INFO) --delete --info-dir=$(DESTDIR)$(infodir) $$file; \
111             done; \
112         fi
113         rm -f $(DESTDIR)$(bindir)/$(target) \
114             $(DESTDIR)$(pkglibdir)/$(preload).so \
115             $(DESTDIR)$(mandir)/man1/$(target).1 \
116             $(DESTDIR)$(mandir)/*/man1/$(target).1 \
117             $(DESTDIR)$(localedir)/*/LC_MESSAGES/$(target).mo \
118             $(DESTDIR)$(infodir)/$(target).info
119             $(DESTDIR)$(infodir)/$(target)-*.info
120
121 clean:
122         -rm -f $(target) $(target).h2m $(target).*.h2m $(preload).so *.tmp*
123         -rm -rf localetmp
124
125 mostlyclean: clean
126         rm -f $(target).dvi $(target).aux $(target).cp $(target).cps \
127             $(target).fn $(target).ky $(target).log $(target).pg $(target).toc \
128             $(target).tp $(target).vr po/*.po~ po-texi/*.po~ po-texi/*.pot~ \
129             configure~
130
131 distclean: mostlyclean
132         -rm -rf config.cache config.log config.status Makefile autom4te.cache
133
134 realclean: distclean
135         rm -f $(target)-*.texi $(target).info $(target)-*.info $(target).1 \
136             $(target).*.1 po/*.gmo
137
138 maintainer-clean: realclean
139         rm -f $(srcdir)/configure
140
141 $(target): $(srcdir)/$(target).PL
142         $(PERL) $? @extra_extract_args@
143
144 $(target).h2m: $(srcdir)/$(target).h2m.PL
145         $(PERL) $?
146
147 preload: $(preload).so
148 $(preload).so: $(srcdir)/$(preload).c
149         $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ -fPIC -shared $? $(LIBS)
150
151 man: $(target).1
152 $(target).1: $(srcdir)/$(target).PL $(srcdir)/$(target).h2m.PL
153         $(MAKE) $(target) $(target).h2m
154         ./$(target) --include=$(target).h2m --output=$@ ./$(target)
155
156 msg_l10n: $(addprefix po/,$(addsuffix .gmo,$(LINGUAS)))
157 po/%.gmo: $(srcdir)/po/%.po
158         test -d po || mkdir po
159         $(MSGFMT) -o $@ $?
160
161 localetmp/%/LC_MESSAGES/$(target).mo: po/%.gmo
162         lang=$(patsubst localetmp/%/LC_MESSAGES/$(target).mo,%,$@); \
163         $(MKINSTALLDIRS) localetmp/$$lang/LC_MESSAGES && \
164         $(INSTALL_DATA) po/$$lang.gmo localetmp/$$lang/LC_MESSAGES/$(target).mo
165
166 man_l10n: $(addprefix $(target).,$(addsuffix .1,$(LINGUAS)))
167 $(target).%.1: $(srcdir)/$(target).PL $(srcdir)/$(target).h2m.PL \
168     $(srcdir)/po/%.po
169         lang=$(patsubst $(target).%.1,%,$@); \
170         $(MAKE) $(target) $(preload).so \
171             localetmp/$$lang/LC_MESSAGES/$(target).mo $(target).$$lang.h2m; \
172         LD_PRELOAD=./$(preload).so LOCALEDIR=localetmp TEXTDOMAIN=help2man \
173             ./$(target) --include=$$($(FIND_VPATH) $(target).$$lang.h2m) \
174                 --output=$@ ./$(target)
175
176 $(target).%.h2m: $(srcdir)/$(target).h2m.PL $(srcdir)/po/%.po
177         set -e; \
178         lang=$(patsubst $(target).%.h2m,%,$@); \
179         locale=$$($(LOOKUP_LOCALE) $$lang $(srcdir)/locales); \
180         $(MAKE) localetmp/$$lang/LC_MESSAGES/$(target).mo; \
181         $(PERL) $(srcdir)/$(target).h2m.PL --locale="$$locale" \
182             --message-dir=localetmp --output=$@
183
184 info: $(target).info
185 $(target).info: $(srcdir)/$(target).texi
186         $(MAKEINFO) $? -o $@
187
188 info_l10n: $(addprefix $(target)-,$(addsuffix .info,$(LINGUAS_TEXI)))
189 $(target)-%.info: $(target)-%.texi
190         set -e; \
191         lang=$(patsubst $(target)-%.info,%,$@); \
192         locale=$$($(LOOKUP_LOCALE) $$lang $(srcdir)/locales); \
193         $(MAKEINFO) --output=$@.tmp --document-language="$$locale" $?
194         $(FIXUP_TEXI_TRANS) -o $@ $@.tmp
195         rm -f $@.tmp
196
197 $(target)-%.texi: $(srcdir)/po-texi/%.po $(srcdir)/help2man.texi
198         $(PO4A_TRANSLATE) -f texinfo -m $(srcdir)/help2man.texi \
199             -p $(filter %.po,$^) -l $@ -k 60
200
201 dvi: $(target).dvi
202 $(target).dvi: $(srcdir)/$(target).texi
203         $(TEXI2DVI) $?
204
205 Makefile: $(srcdir)/Makefile.in
206         ./config.status
207
208 update-po: $(srcdir)/po/$(target).pot $(srcdir)/po-texi/$(target)-texi.pot
209         set -e; \
210         for po in $(srcdir)/po/*.po; \
211         do \
212             echo -n "Updating $$po "; \
213             $(MSGMERGE) -U $$po $(srcdir)/po/$(target).pot; \
214         done; \
215         for po in $(srcdir)/po-texi/*.po; \
216         do \
217             echo -n "Updating $$po "; \
218             $(MSGMERGE) -U $$po $(srcdir)/po-texi/$(target)-texi.pot; \
219         done
220
221 $(srcdir)/po/$(target).pot: $(srcdir)/$(target).PL $(srcdir)/$(target).h2m.PL
222         $(MAKE) $(target)
223         $(XGETTEXT) -L Perl -k_ -kN_ -cTranslators: \
224             --msgid-bugs-address="Brendan O'Dea <bug-help2man@gnu.org>" -o $@ \
225             $(target) $(srcdir)/$(target).h2m.PL
226
227 $(srcdir)/po-texi/$(target)-texi.pot: $(srcdir)/$(target).texi
228         $(PO4A_UPDATEPO) -f texinfo \
229             --msgid-bugs-address="Brendan O'Dea <bug-help2man@gnu.org>" \
230             -p $@.tmp -m $?
231         $(FIXUP_TEXI_POT) -o $@ $@.tmp
232         rm -f $@.tmp
233
234 .PHONY: all clean distclean dvi info info_l10n install install_base \
235     install_l10n install_preload maintainer-clean man man_l10n mostlyclean \
236     msg_l10n preload realclean uninstall update-po
237
238 .SUFFIXES: