202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
1 |
# Makefile for PO directory in any package using GNU gettext.
|
2 |
# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
|
3 |
#
|
|
4 |
# This file can be copied and used freely without restrictions. It can
|
|
5 |
# be used in projects which are not available under the GNU General Public
|
|
6 |
# License but which still want to provide support for the GNU gettext
|
|
7 |
# functionality.
|
|
8 |
# Please note that the actual code of GNU gettext is covered by the GNU
|
|
9 |
# General Public License and is *not* in the public domain.
|
|
10 |
#
|
|
11 |
# Origin: gettext-0.17
|
|
12 |
GETTEXT_MACRO_VERSION = 0.17 |
|
13 |
||
14 |
PACKAGE = @PACKAGE@ |
|
15 |
VERSION = @VERSION@ |
|
16 |
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ |
|
17 |
||
18 |
SHELL = /bin/sh |
|
19 |
@SET_MAKE@
|
|
20 |
||
21 |
srcdir = @srcdir@ |
|
22 |
top_srcdir = @top_srcdir@ |
|
23 |
VPATH = @srcdir@ |
|
24 |
||
25 |
prefix = @prefix@ |
|
26 |
exec_prefix = @exec_prefix@ |
|
27 |
datarootdir = @datarootdir@ |
|
28 |
datadir = @datadir@ |
|
29 |
localedir = @localedir@ |
|
30 |
gettextsrcdir = $(datadir)/gettext/po |
|
31 |
||
32 |
INSTALL = @INSTALL@ |
|
33 |
INSTALL_DATA = @INSTALL_DATA@ |
|
34 |
||
35 |
# We use $(mkdir_p).
|
|
36 |
# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
|
|
37 |
# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
|
|
38 |
# @install_sh@ does not start with $(SHELL), so we add it.
|
|
39 |
# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
|
|
40 |
# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
|
|
41 |
# versions, $(mkinstalldirs) and $(install_sh) are unused.
|
|
42 |
mkinstalldirs = $(SHELL) @install_sh@ -d |
|
43 |
install_sh = $(SHELL) @install_sh@ |
|
44 |
MKDIR_P = @MKDIR_P@ |
|
45 |
mkdir_p = @mkdir_p@ |
|
46 |
||
47 |
GMSGFMT_ = @GMSGFMT@ |
|
48 |
GMSGFMT_no = @GMSGFMT@ |
|
49 |
GMSGFMT_yes = @GMSGFMT_015@ |
|
50 |
GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) |
|
51 |
MSGFMT_ = @MSGFMT@ |
|
52 |
MSGFMT_no = @MSGFMT@ |
|
53 |
MSGFMT_yes = @MSGFMT_015@ |
|
54 |
MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) |
|
55 |
XGETTEXT_ = @XGETTEXT@ |
|
56 |
XGETTEXT_no = @XGETTEXT@ |
|
57 |
XGETTEXT_yes = @XGETTEXT_015@ |
|
58 |
XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) |
|
994.2.5
by Monty Taylor
Fixed a stupid hardcoding in po. |
59 |
MSGMERGE = @MSGMERGE@ |
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
60 |
MSGMERGE_UPDATE = @MSGMERGE@ --update |
61 |
MSGINIT = msginit |
|
62 |
MSGCONV = msgconv |
|
63 |
MSGFILTER = msgfilter |
|
64 |
||
65 |
POFILES = @POFILES@ |
|
66 |
GMOFILES = @GMOFILES@ |
|
67 |
UPDATEPOFILES = @UPDATEPOFILES@ |
|
68 |
DUMMYPOFILES = @DUMMYPOFILES@ |
|
69 |
DISTFILES.common = Makefile.in.in remove-potcdate.sin \ |
|
70 |
$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) |
|
71 |
DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ |
|
72 |
$(POFILES) $(GMOFILES) \ |
|
73 |
$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) |
|
74 |
||
75 |
POTFILES = \ |
|
76 |
||
77 |
CATALOGS = @CATALOGS@ |
|
78 |
||
79 |
# Makevars gets inserted here. (Don't remove this line!)
|
|
80 |
||
81 |
.SUFFIXES: |
|
82 |
.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update |
|
83 |
||
84 |
.po.mo: |
|
85 |
@echo "$(MSGFMT) -c -o $@ $<"; \ |
|
86 |
$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ |
|
87 |
||
88 |
.po.gmo: |
|
89 |
@lang=`echo $* | sed -e 's,.*/,,'`; \ |
|
90 |
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ |
|
91 |
echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ |
|
92 |
cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo |
|
93 |
||
94 |
.sin.sed: |
|
95 |
sed -e '/^#/d' $< > t-$@ |
|
96 |
mv t-$@ $@ |
|
97 |
||
98 |
||
99 |
all: check-macro-version all-@USE_NLS@ |
|
100 |
||
101 |
all-yes: stamp-po |
|
102 |
all-no: |
|
103 |
||
104 |
# Ensure that the gettext macros and this Makefile.in.in are in sync.
|
|
105 |
check-macro-version: |
|
106 |
@test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ |
|
107 |
|| { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ |
|
108 |
exit 1; \ |
|
109 |
}
|
|
110 |
||
111 |
# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
|
|
112 |
# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
|
|
113 |
# we don't want to bother translators with empty POT files). We assume that
|
|
114 |
# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
|
|
115 |
# In this case, stamp-po is a nop (i.e. a phony target).
|
|
116 |
||
117 |
# stamp-po is a timestamp denoting the last time at which the CATALOGS have
|
|
118 |
# been loosely updated. Its purpose is that when a developer or translator
|
|
119 |
# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
|
|
120 |
# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
|
|
121 |
# invocations of "make" will do nothing. This timestamp would not be necessary
|
|
122 |
# if updating the $(CATALOGS) would always touch them; however, the rule for
|
|
123 |
# $(POFILES) has been designed to not touch files that don't need to be
|
|
124 |
# changed.
|
|
125 |
stamp-po: $(srcdir)/$(DOMAIN).pot |
|
126 |
test ! -f $(srcdir)/$(DOMAIN).pot || \ |
|
127 |
test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) |
|
128 |
@test ! -f $(srcdir)/$(DOMAIN).pot || { \ |
|
129 |
echo "touch stamp-po" && \ |
|
130 |
echo timestamp > stamp-poT && \ |
|
131 |
mv stamp-poT stamp-po; \ |
|
132 |
}
|
|
133 |
||
134 |
# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
|
|
135 |
# otherwise packages like GCC can not be built if only parts of the source
|
|
136 |
# have been downloaded.
|
|
137 |
||
138 |
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
|
|
139 |
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
|
|
140 |
$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed |
|
141 |
if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
|
|
142 |
package_gnu='GNU '; \
|
|
143 |
else \
|
|
144 |
package_gnu=''; \
|
|
145 |
fi; \
|
|
146 |
if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
|
|
147 |
msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
|
|
148 |
else \
|
|
149 |
msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
|
|
150 |
fi; \
|
|
151 |
case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
|
|
152 |
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
|
|
1099.4.120
by Monty Taylor
Changed po/Makefile.in.in to add header back in but strip the changed date. |
153 |
$(XGETTEXT) --no-location --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
154 |
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
|
155 |
--files-from=$(srcdir)/POTFILES.in \
|
|
156 |
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
|
157 |
--msgid-bugs-address="$$msgid_bugs_address" \
|
|
158 |
;; \
|
|
159 |
*) \
|
|
1099.4.120
by Monty Taylor
Changed po/Makefile.in.in to add header back in but strip the changed date. |
160 |
$(XGETTEXT) --no-location --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
161 |
--add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
|
162 |
--files-from=$(srcdir)/POTFILES.in \
|
|
163 |
--copyright-holder='$(COPYRIGHT_HOLDER)' \
|
|
164 |
--package-name="$${package_gnu}@PACKAGE@" \
|
|
165 |
--package-version='@VERSION@' \
|
|
166 |
--msgid-bugs-address="$$msgid_bugs_address" \
|
|
167 |
;; \
|
|
168 |
esac
|
|
169 |
test ! -f $(DOMAIN).po || { \ |
|
170 |
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
|
171 |
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
|
|
172 |
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
|
|
173 |
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
|
|
174 |
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
|
|
175 |
else \
|
|
1099.4.120
by Monty Taylor
Changed po/Makefile.in.in to add header back in but strip the changed date. |
176 |
mv $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
|
177 |
rm -f $(DOMAIN).po $(DOMAIN).1po; \
|
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
178 |
fi; \
|
179 |
else \
|
|
1099.4.120
by Monty Taylor
Changed po/Makefile.in.in to add header back in but strip the changed date. |
180 |
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).1po; \
|
181 |
mv $(DOMAIN).1po $(srcdir)/$(DOMAIN).pot; \
|
|
182 |
rm -f $(DOMAIN).po; \
|
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
183 |
fi; \
|
184 |
}
|
|
185 |
||
186 |
# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
|
|
187 |
# every "make" invocation, only create it when it is missing.
|
|
188 |
# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
|
|
189 |
$(srcdir)/$(DOMAIN).pot: |
|
190 |
$(MAKE) $(DOMAIN).pot-update |
|
191 |
||
192 |
# This target rebuilds a PO file if $(DOMAIN).pot has changed.
|
|
193 |
# Note that a PO file is not touched if it doesn't need to be changed.
|
|
194 |
$(POFILES): $(srcdir)/$(DOMAIN).pot |
|
195 |
@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ |
|
196 |
if test -f "$(srcdir)/$${lang}.po"; then \
|
|
197 |
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
|
1192.3.39
by Monty Taylor
Fixed make update-po so that it doesn't change the .po files EVERY time distcheck is run. This one needs to go in to get us a good .po file baseline, and after that, the only changes to files in .po dir will be specific changes driven by the actual changes in the actual source, rather than 100-bazillion lines which are comments about line numbers. |
198 |
echo "$${cdcmd}$(MSGMERGE_UPDATE) --no-location $${lang}.po $(DOMAIN).pot"; \
|
199 |
cd $(srcdir) && $(MSGMERGE_UPDATE) --no-location $${lang}.po $(DOMAIN).pot; \
|
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
200 |
else \
|
201 |
$(MAKE) $${lang}.po-create; \
|
|
202 |
fi
|
|
203 |
||
204 |
||
205 |
install: install-exec install-data |
|
206 |
install-exec: |
|
207 |
install-data: install-data-@USE_NLS@ |
|
208 |
if test "$(PACKAGE)" = "gettext-tools"; then \
|
|
209 |
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
|
210 |
for file in $(DISTFILES.common) Makevars.template; do \
|
|
211 |
$(INSTALL_DATA) $(srcdir)/$$file \
|
|
212 |
$(DESTDIR)$(gettextsrcdir)/$$file; \
|
|
213 |
done; \
|
|
214 |
for file in Makevars; do \
|
|
215 |
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
|
216 |
done; \
|
|
217 |
else \
|
|
218 |
: ; \
|
|
219 |
fi
|
|
220 |
install-data-no: all |
|
221 |
install-data-yes: all |
|
222 |
$(mkdir_p) $(DESTDIR)$(datadir) |
|
223 |
@catalogs='$(CATALOGS)'; \ |
|
224 |
for cat in $$catalogs; do \ |
|
225 |
cat=`basename $$cat`; \ |
|
226 |
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ |
|
227 |
dir=$(localedir)/$$lang/LC_MESSAGES; \ |
|
228 |
$(mkdir_p) $(DESTDIR)$$dir; \ |
|
229 |
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
|
|
230 |
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
|
|
231 |
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
|
|
232 |
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
|
|
233 |
if test -n "$$lc"; then \
|
|
234 |
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
|
235 |
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
|
236 |
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
|
237 |
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
|
238 |
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
|
239 |
for file in *; do \
|
|
240 |
if test -f $$file; then \
|
|
241 |
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
|
242 |
fi; \
|
|
243 |
done); \
|
|
244 |
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
|
245 |
else \
|
|
246 |
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
|
247 |
:; \
|
|
248 |
else \
|
|
249 |
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
|
250 |
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
|
251 |
fi; \
|
|
252 |
fi; \
|
|
253 |
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
|
254 |
ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
|
255 |
ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
|
|
256 |
cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
|
|
257 |
echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
|
|
258 |
fi; \
|
|
259 |
done; \
|
|
260 |
done
|
|
261 |
||
262 |
install-strip: install |
|
263 |
||
264 |
installdirs: installdirs-exec installdirs-data |
|
265 |
installdirs-exec: |
|
266 |
installdirs-data: installdirs-data-@USE_NLS@ |
|
267 |
if test "$(PACKAGE)" = "gettext-tools"; then \
|
|
268 |
$(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
|
|
269 |
else \
|
|
270 |
: ; \
|
|
271 |
fi
|
|
272 |
installdirs-data-no: |
|
273 |
installdirs-data-yes: |
|
274 |
$(mkdir_p) $(DESTDIR)$(datadir) |
|
275 |
@catalogs='$(CATALOGS)'; \ |
|
276 |
for cat in $$catalogs; do \ |
|
277 |
cat=`basename $$cat`; \ |
|
278 |
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ |
|
279 |
dir=$(localedir)/$$lang/LC_MESSAGES; \ |
|
280 |
$(mkdir_p) $(DESTDIR)$$dir; \ |
|
281 |
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ |
|
282 |
if test -n "$$lc"; then \
|
|
283 |
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
|
|
284 |
link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
|
|
285 |
mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
|
286 |
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
|
287 |
(cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
|
|
288 |
for file in *; do \
|
|
289 |
if test -f $$file; then \
|
|
290 |
ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
|
|
291 |
fi; \
|
|
292 |
done); \
|
|
293 |
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
|
|
294 |
else \
|
|
295 |
if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
|
|
296 |
:; \
|
|
297 |
else \
|
|
298 |
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
|
299 |
mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
|
|
300 |
fi; \
|
|
301 |
fi; \
|
|
302 |
fi; \
|
|
303 |
done; \
|
|
304 |
done
|
|
305 |
||
306 |
# Define this as empty until I found a useful application.
|
|
307 |
installcheck: |
|
308 |
||
309 |
uninstall: uninstall-exec uninstall-data |
|
310 |
uninstall-exec: |
|
311 |
uninstall-data: uninstall-data-@USE_NLS@ |
|
312 |
if test "$(PACKAGE)" = "gettext-tools"; then \
|
|
313 |
for file in $(DISTFILES.common) Makevars.template; do \
|
|
314 |
rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
|
|
315 |
done; \
|
|
316 |
else \
|
|
317 |
: ; \
|
|
318 |
fi
|
|
319 |
uninstall-data-no: |
|
320 |
uninstall-data-yes: |
|
321 |
catalogs='$(CATALOGS)'; \ |
|
322 |
for cat in $$catalogs; do \ |
|
323 |
cat=`basename $$cat`; \ |
|
324 |
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ |
|
325 |
for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ |
|
326 |
rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ |
|
327 |
done; \ |
|
328 |
done
|
|
329 |
||
330 |
check: all |
|
331 |
||
332 |
info dvi ps pdf html tags TAGS ctags CTAGS ID: |
|
333 |
||
334 |
mostlyclean: |
|
335 |
rm -f remove-potcdate.sed |
|
336 |
rm -f stamp-poT |
|
337 |
rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po |
|
338 |
rm -fr *.o |
|
339 |
||
340 |
clean: mostlyclean |
|
341 |
||
342 |
distclean: clean |
|
343 |
rm -f Makefile Makefile.in POTFILES *.mo |
|
344 |
||
345 |
maintainer-clean: distclean |
|
346 |
@echo "This command is intended for maintainers to use;"
|
|
347 |
@echo "it deletes files that may require special tools to rebuild."
|
|
348 |
rm -f stamp-po $(GMOFILES) |
|
349 |
||
350 |
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) |
|
351 |
dist distdir: |
|
352 |
$(MAKE) update-po |
|
353 |
@$(MAKE) dist2 |
|
354 |
# This is a separate target because 'update-po' must be executed before.
|
|
355 |
dist2: stamp-po $(DISTFILES) |
|
356 |
dists="$(DISTFILES)"; \ |
|
357 |
if test "$(PACKAGE)" = "gettext-tools"; then \
|
|
358 |
dists="$$dists Makevars.template"; \
|
|
359 |
fi; \
|
|
360 |
if test -f $(srcdir)/$(DOMAIN).pot; then \
|
|
361 |
dists="$$dists $(DOMAIN).pot stamp-po"; \
|
|
362 |
fi; \
|
|
363 |
if test -f $(srcdir)/ChangeLog; then \
|
|
364 |
dists="$$dists ChangeLog"; \
|
|
365 |
fi; \
|
|
366 |
for i in 0 1 2 3 4 5 6 7 8 9; do \
|
|
367 |
if test -f $(srcdir)/ChangeLog.$$i; then \
|
|
368 |
dists="$$dists ChangeLog.$$i"; \
|
|
369 |
fi; \
|
|
370 |
done; \
|
|
371 |
if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
|
|
372 |
for file in $$dists; do \
|
|
373 |
if test -f $$file; then \
|
|
374 |
cp -p $$file $(distdir) || exit 1; \
|
|
375 |
else \
|
|
376 |
cp -p $(srcdir)/$$file $(distdir) || exit 1; \
|
|
377 |
fi; \
|
|
378 |
done
|
|
379 |
||
380 |
update-po: Makefile |
|
381 |
$(MAKE) $(DOMAIN).pot-update |
|
382 |
test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) |
|
383 |
$(MAKE) update-gmo |
|
384 |
||
385 |
# General rule for creating PO files.
|
|
386 |
||
387 |
.nop.po-create: |
|
388 |
@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ |
|
389 |
echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ |
|
390 |
exit 1 |
|
391 |
||
392 |
# General rule for updating PO files.
|
|
393 |
||
394 |
.nop.po-update: |
|
395 |
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ |
|
396 |
if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
|
|
397 |
tmpdir=`pwd`; \
|
|
398 |
echo "$$lang:"; \
|
|
399 |
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
|
|
1192.3.39
by Monty Taylor
Fixed make update-po so that it doesn't change the .po files EVERY time distcheck is run. This one needs to go in to get us a good .po file baseline, and after that, the only changes to files in .po dir will be specific changes driven by the actual changes in the actual source, rather than 100-bazillion lines which are comments about line numbers. |
400 |
echo "$${cdcmd}$(MSGMERGE) --no-location $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
401 |
cd $(srcdir); \
|
1192.3.39
by Monty Taylor
Fixed make update-po so that it doesn't change the .po files EVERY time distcheck is run. This one needs to go in to get us a good .po file baseline, and after that, the only changes to files in .po dir will be specific changes driven by the actual changes in the actual source, rather than 100-bazillion lines which are comments about line numbers. |
402 |
if $(MSGMERGE) --no-location $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
|
202.3.1
by Monty Taylor
Added very initial gettextize stuff. |
403 |
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
404 |
rm -f $$tmpdir/$$lang.new.po; \
|
|
405 |
else \
|
|
406 |
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
|
407 |
:; \
|
|
408 |
else \
|
|
409 |
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
|
410 |
exit 1; \
|
|
411 |
fi; \
|
|
412 |
fi; \
|
|
413 |
else \
|
|
414 |
echo "msgmerge for $$lang.po failed!" 1>&2; \
|
|
415 |
rm -f $$tmpdir/$$lang.new.po; \
|
|
416 |
fi
|
|
417 |
||
418 |
$(DUMMYPOFILES): |
|
419 |
||
420 |
update-gmo: Makefile $(GMOFILES) |
|
421 |
@: |
|
422 |
||
423 |
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ |
|
424 |
cd $(top_builddir) \ |
|
425 |
&& $(SHELL) ./config.status $(subdir)/$@.in po-directories |
|
426 |
||
427 |
force: |
|
428 |
||
429 |
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
|
430 |
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
431 |
.NOEXPORT: |