source: trunk/debathena/third/schroot/po/Makefile.in.in @ 24172

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