Annotation of embedaddon/libiconv/po/Makefile.in.in, revision 1.1.1.1
1.1 misho 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))
59: MSGMERGE = msgmerge
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]*) \
153: $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
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: *) \
160: $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
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 \
176: rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
177: mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
178: fi; \
179: else \
180: mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
181: fi; \
182: }
183:
184: # This rule has no dependencies: we don't need to update $(DOMAIN).pot at
185: # every "make" invocation, only create it when it is missing.
186: # Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
187: $(srcdir)/$(DOMAIN).pot:
188: $(MAKE) $(DOMAIN).pot-update
189:
190: # This target rebuilds a PO file if $(DOMAIN).pot has changed.
191: # Note that a PO file is not touched if it doesn't need to be changed.
192: $(POFILES): $(srcdir)/$(DOMAIN).pot
193: @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
194: if test -f "$(srcdir)/$${lang}.po"; then \
195: test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
196: echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
197: cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
198: else \
199: $(MAKE) $${lang}.po-create; \
200: fi
201:
202:
203: install: install-exec install-data
204: install-exec:
205: install-data: install-data-@USE_NLS@
206: if test "$(PACKAGE)" = "gettext-tools"; then \
207: $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
208: for file in $(DISTFILES.common) Makevars.template; do \
209: $(INSTALL_DATA) $(srcdir)/$$file \
210: $(DESTDIR)$(gettextsrcdir)/$$file; \
211: done; \
212: for file in Makevars; do \
213: rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
214: done; \
215: else \
216: : ; \
217: fi
218: install-data-no: all
219: install-data-yes: all
220: $(mkdir_p) $(DESTDIR)$(datadir)
221: @catalogs='$(CATALOGS)'; \
222: for cat in $$catalogs; do \
223: cat=`basename $$cat`; \
224: lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
225: dir=$(localedir)/$$lang/LC_MESSAGES; \
226: $(mkdir_p) $(DESTDIR)$$dir; \
227: if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
228: $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
229: echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
230: for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
231: if test -n "$$lc"; then \
232: if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
233: link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
234: mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
235: mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
236: (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
237: for file in *; do \
238: if test -f $$file; then \
239: ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
240: fi; \
241: done); \
242: rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
243: else \
244: if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
245: :; \
246: else \
247: rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
248: mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
249: fi; \
250: fi; \
251: rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
252: ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
253: ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
254: cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
255: echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
256: fi; \
257: done; \
258: done
259:
260: install-strip: install
261:
262: installdirs: installdirs-exec installdirs-data
263: installdirs-exec:
264: installdirs-data: installdirs-data-@USE_NLS@
265: if test "$(PACKAGE)" = "gettext-tools"; then \
266: $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
267: else \
268: : ; \
269: fi
270: installdirs-data-no:
271: installdirs-data-yes:
272: $(mkdir_p) $(DESTDIR)$(datadir)
273: @catalogs='$(CATALOGS)'; \
274: for cat in $$catalogs; do \
275: cat=`basename $$cat`; \
276: lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
277: dir=$(localedir)/$$lang/LC_MESSAGES; \
278: $(mkdir_p) $(DESTDIR)$$dir; \
279: for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
280: if test -n "$$lc"; then \
281: if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
282: link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
283: mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
284: mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
285: (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
286: for file in *; do \
287: if test -f $$file; then \
288: ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
289: fi; \
290: done); \
291: rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
292: else \
293: if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
294: :; \
295: else \
296: rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
297: mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
298: fi; \
299: fi; \
300: fi; \
301: done; \
302: done
303:
304: # Define this as empty until I found a useful application.
305: installcheck:
306:
307: uninstall: uninstall-exec uninstall-data
308: uninstall-exec:
309: uninstall-data: uninstall-data-@USE_NLS@
310: if test "$(PACKAGE)" = "gettext-tools"; then \
311: for file in $(DISTFILES.common) Makevars.template; do \
312: rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
313: done; \
314: else \
315: : ; \
316: fi
317: uninstall-data-no:
318: uninstall-data-yes:
319: catalogs='$(CATALOGS)'; \
320: for cat in $$catalogs; do \
321: cat=`basename $$cat`; \
322: lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
323: for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
324: rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
325: done; \
326: done
327:
328: check: all
329:
330: info dvi ps pdf html tags TAGS ctags CTAGS ID:
331:
332: mostlyclean:
333: rm -f remove-potcdate.sed
334: rm -f stamp-poT
335: rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
336: rm -fr *.o
337:
338: clean: mostlyclean
339:
340: distclean: clean
341: rm -f Makefile Makefile.in POTFILES *.mo
342:
343: maintainer-clean: distclean
344: @echo "This command is intended for maintainers to use;"
345: @echo "it deletes files that may require special tools to rebuild."
346: rm -f stamp-po $(GMOFILES)
347:
348: distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
349: dist distdir:
350: $(MAKE) update-po
351: @$(MAKE) dist2
352: # This is a separate target because 'update-po' must be executed before.
353: dist2: stamp-po $(DISTFILES)
354: dists="$(DISTFILES)"; \
355: if test "$(PACKAGE)" = "gettext-tools"; then \
356: dists="$$dists Makevars.template"; \
357: fi; \
358: if test -f $(srcdir)/$(DOMAIN).pot; then \
359: dists="$$dists $(DOMAIN).pot stamp-po"; \
360: fi; \
361: if test -f $(srcdir)/ChangeLog; then \
362: dists="$$dists ChangeLog"; \
363: fi; \
364: for i in 0 1 2 3 4 5 6 7 8 9; do \
365: if test -f $(srcdir)/ChangeLog.$$i; then \
366: dists="$$dists ChangeLog.$$i"; \
367: fi; \
368: done; \
369: if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
370: for file in $$dists; do \
371: if test -f $$file; then \
372: cp -p $$file $(distdir) || exit 1; \
373: else \
374: cp -p $(srcdir)/$$file $(distdir) || exit 1; \
375: fi; \
376: done
377:
378: update-po: Makefile
379: $(MAKE) $(DOMAIN).pot-update
380: test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
381: $(MAKE) update-gmo
382:
383: # General rule for creating PO files.
384:
385: .nop.po-create:
386: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
387: echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
388: exit 1
389:
390: # General rule for updating PO files.
391:
392: .nop.po-update:
393: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
394: if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
395: tmpdir=`pwd`; \
396: echo "$$lang:"; \
397: test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
398: echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
399: cd $(srcdir); \
400: if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
401: if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
402: rm -f $$tmpdir/$$lang.new.po; \
403: else \
404: if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
405: :; \
406: else \
407: echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
408: exit 1; \
409: fi; \
410: fi; \
411: else \
412: echo "msgmerge for $$lang.po failed!" 1>&2; \
413: rm -f $$tmpdir/$$lang.new.po; \
414: fi
415:
416: $(DUMMYPOFILES):
417:
418: update-gmo: Makefile $(GMOFILES)
419: @:
420:
421: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
422: cd $(top_builddir) \
423: && $(SHELL) ./config.status $(subdir)/$@.in po-directories
424:
425: force:
426:
427: # Tell versions [3.59,3.63) of GNU make not to export all variables.
428: # Otherwise a system limit (for SysV at least) may be exceeded.
429: .NOEXPORT:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>