Imported Upstream version 1.45.1
[platform/upstream/help2man.git] / Makefile.in
1 # Makefile for help2man
2
3 # Copyright (C) 2012 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 prefix = @prefix@
14 exec_prefix = @exec_prefix@
15
16 bindir = @bindir@
17 libdir = @libdir@
18 pkglibdir = $(libdir)/help2man
19 datarootdir = @datarootdir@
20 mandir = @mandir@
21 datadir = @datadir@
22 infodir = @infodir@
23 localedir = $(datadir)/locale
24
25 export SHELL = @SHELL@
26 export VPATH = .:$(srcdir)
27
28 DESTDIR =
29 LINGUAS = $(basename $(notdir $(wildcard $(srcdir)/po/*.po)))
30
31 CC = @CC@
32 PERL = @PERL@
33 LIBS = @LIBS@
34 INSTALL = @INSTALL@
35 INSTALL_PROGRAM = @INSTALL_PROGRAM@
36 INSTALL_SCRIPT = @INSTALL_SCRIPT@
37 INSTALL_DATA = @INSTALL_DATA@
38 INSTALL_INFO = @INSTALL_INFO@
39 MAKEINFO = @MAKEINFO@
40 MSGFMT = @MSGFMT@
41 MKINSTALLDIRS = $(srcdir)/mkinstalldirs
42
43 target = help2man
44 preload = bindtextdomain
45
46 # find file in vpath
47 vpath_file = $$($(PERL) -e 'print +(grep -f, map "$$_/$$ARGV[0]", \
48     map +(length) ? $$_ : ".", split ":", $$ENV{VPATH} || ".")[0]' $(1))
49
50 all: $(target) man info @extra_make_all@
51
52 install: all install_base @extra_make_install@
53 install_dirs:
54         $(MKINSTALLDIRS) $(DESTDIR)$(bindir)
55         $(MKINSTALLDIRS) $(DESTDIR)$(pkglibdir)
56         $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man1
57         $(MKINSTALLDIRS) $(DESTDIR)$(infodir)
58
59 install_base: install_dirs
60         $(INSTALL_SCRIPT) $(target) $(DESTDIR)$(bindir)
61         $(INSTALL_DATA) $(call vpath_file,$(target).1) $(DESTDIR)$(mandir)/man1
62         $(INSTALL_DATA) $(call vpath_file,$(target).info) \
63             $(DESTDIR)$(infodir)/$(target).info
64
65         if test -f $(DESTDIR)$(infodir)/dir; \
66         then \
67             $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) \
68                 $(DESTDIR)$(infodir)/$(target).info; \
69         fi
70
71 install_preload: install_dirs preload
72         $(INSTALL_PROGRAM) $(preload).so $(DESTDIR)$(pkglibdir)
73
74 install_l10n: install_dirs msg_l10n man_l10n
75         for lang in $(LINGUAS); \
76         do \
77             $(MKINSTALLDIRS) $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
78             $(INSTALL_DATA) $(call vpath_file,po/$$lang.gmo) \
79                 $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(target).mo; \
80             $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/$$lang/man1; \
81             $(INSTALL_DATA) $(call vpath_file,$(target).$$lang.1) \
82                 $(DESTDIR)$(mandir)/$$lang/man1/$(target).1; \
83         done
84
85 uninstall:
86         rm -f $(DESTDIR)$(bindir)/$(target) \
87             $(DESTDIR)$(pkglibdir)/$(preload).so \
88             $(DESTDIR)$(mandir)/man1/$(target).1 \
89             $(DESTDIR)$(mandir)/*/man1/$(target).1 \
90             $(DESTDIR)$(localedir)/*/LC_MESSAGES/$(target).mo \
91             $(DESTDIR)$(infodir)/$(target).info
92
93         if test -f $(DESTDIR)$(infodir)/dir; \
94         then \
95             $(INSTALL_INFO) --delete --info-dir=$(DESTDIR)$(infodir) \
96                 $(target).info; \
97         fi
98
99 clean:
100         -rm -f $(target) $(target).h2m $(target).*.h2m $(preload).so *.tmp[0-9]*
101         -rm -rf localetmp
102
103 mostlyclean: clean
104         rm -f $(target).dvi $(target).aux $(target).cp $(target).cps \
105             $(target).fn $(target).ky $(target).log $(target).pg $(target).toc \
106             $(target).tp $(target).vr po/*.po~
107
108 distclean: mostlyclean
109         -rm -rf config.cache config.log config.status Makefile autom4te.cache
110
111 realclean: distclean
112         rm -f $(target).info $(target).1 $(target).*.1 po/*.gmo
113
114 maintainer-clean: realclean
115         rm -f $(srcdir)/configure
116
117 $(target): $(srcdir)/$(target).PL
118         $(PERL) $? @extra_extract_args@
119
120 $(target).h2m: $(srcdir)/$(target).h2m.PL
121         $(PERL) $?
122
123 preload: $(preload).so
124 $(preload).so: $(srcdir)/$(preload).c
125         $(CC) $(CFLAGS) -o $@ -fPIC -shared $? $(LIBS)
126
127 man: $(target).1
128 $(target).1: $(srcdir)/$(target).PL $(srcdir)/$(target).h2m.PL
129         $(MAKE) $(target) $(target).h2m
130         ./$(target) --include=$(target).h2m --output=$@ ./$(target)
131
132 msg_l10n: $(addprefix po/,$(addsuffix .gmo,$(LINGUAS)))
133 po/%.gmo: $(srcdir)/po/%.po
134         test -d po || mkdir po
135         $(MSGFMT) -o $@ $?
136
137 localetmp/%/LC_MESSAGES/$(target).mo: po/%.gmo
138         lang=$(patsubst localetmp/%/LC_MESSAGES/$(target).mo,%,$@); \
139         $(MKINSTALLDIRS) localetmp/$$lang/LC_MESSAGES && \
140         $(INSTALL_DATA) po/$$lang.gmo localetmp/$$lang/LC_MESSAGES/$(target).mo
141
142 man_l10n: $(addprefix $(target).,$(addsuffix .1,$(LINGUAS)))
143 $(target).%.1: $(srcdir)/$(target).PL $(srcdir)/$(target).h2m.PL \
144     $(srcdir)/po/%.po
145         lang=$(patsubst $(target).%.1,%,$@); \
146         $(MAKE) $(target) $(preload).so \
147             localetmp/$$lang/LC_MESSAGES/$(target).mo $(target).$$lang.h2m; \
148         LD_PRELOAD=./$(preload).so LOCALEDIR=localetmp TEXTDOMAIN=help2man \
149             ./$(target) --include=$(call vpath_file,$(target).$$lang.h2m) \
150                 --output=$@ ./$(target)
151
152 $(target).%.h2m: $(srcdir)/$(target).h2m.PL $(srcdir)/po/%.po
153         lang=$(patsubst $(target).%.h2m,%,$@); \
154         locale=$$(echo $$lang $$lang | \
155              sed -n "/^$$lang"'\s/{s/^\S\+\s\+//p; q}' $(srcdir)/locales -); \
156         $(MAKE) localetmp/$$lang/LC_MESSAGES/$(target).mo; \
157         $(PERL) $(srcdir)/$(target).h2m.PL --locale="$$locale" \
158             --message-dir=localetmp --output=$@
159
160 info: $(target).info
161 $(target).info: $(srcdir)/$(target).texi
162         $(MAKEINFO) $? -o $@
163
164 dvi: $(target).dvi
165 $(target).dvi: $(srcdir)/$(target).texi
166         $(TEXI2DVI) $?
167
168 Makefile: $(srcdir)/Makefile.in
169         ./config.status
170
171 update-po: $(srcdir)/po/$(target).pot
172         for lang in $(LINGUAS); \
173         do \
174             echo -n "Updating $$lang "; \
175             msgmerge -U $(srcdir)/po/$$lang.po $(srcdir)/po/$(target).pot; \
176         done
177
178 $(srcdir)/po/$(target).pot: $(srcdir)/$(target).PL $(srcdir)/$(target).h2m.PL
179         $(MAKE) $(target)
180         xgettext -L Perl -k_ -kN_ -cTranslators: \
181             --msgid-bugs-address="Brendan O'Dea <bug-help2man@gnu.org>" -o $@ \
182             $(target) $(srcdir)/$(target).h2m.PL
183
184 .PHONY: all clean distclean preload man msg_l10n man_l10n info dvi install \
185     install_base install_preload install_l10n mostlyclean realclean \
186     uninstall
187
188 .SUFFIXES: