~ubuntu-branches/ubuntu/dapper/xscreensaver/dapper-updates

« back to all changes in this revision

Viewing changes to po/Makefile.in.in

  • Committer: Bazaar Package Importer
  • Author(s): Ralf Hildebrandt
  • Date: 2005-04-09 00:06:43 UTC
  • mfrom: (1.1.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20050409000643-z0abtifbt9s20pcc
Tags: 4.21-3
Patch by Joachim Breitner to check more frequently if DPMS kicked in (closes: #303374, #286664).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Makefile for program source directory in GNU NLS utilities package.
 
2
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 
3
#
 
4
# This file file be copied and used freely without restrictions.  It can
 
5
# be used in projects which are not available under the GNU Public License
 
6
# but which still want to provide support for the GNU gettext functionality.
 
7
# Please note that the actual code is *not* freely available.
 
8
#
 
9
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
 
10
#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
 
11
#
 
12
# - Modified by jacob berkman <jacob@ximian.com> to install
 
13
#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
 
14
#
 
15
# - Modified by jwz to not suck wet farts from dead pigeons.
 
16
#   This is truly one of the worst-written Makefiles I've ever seen.
 
17
#   Problems I (tried to) fix:
 
18
#
 
19
#     - MKINSTALLDIRS was $(top_srcdir)/@MKINSTALLDIRS@, but the
 
20
#       configure script already put $(top_srcdir) into @MKINSTALLDIRS@,
 
21
#       so the result was an absolute path that didn't work at all.
 
22
#
 
23
#     - GMSGFMT and XGETTEXT set $PATH to some random value before
 
24
#       running the program.  That's completely stupid, and anyway,
 
25
#       the hardcoded $PATH value they were using (../src) do not
 
26
#       apply to xscreensaver.
 
27
#
 
28
#     - the .po.gmo, .po.cat, .po.pox, .pot, install-data-yes, update-po, and
 
29
#       uninstall rules didn't actually print the commands they were
 
30
#       executing: they just dumped a bunch of sh code at you, and expected
 
31
#       you to figure it out yourself.  This is typical behavior of Makefile
 
32
#       rules written by morons.
 
33
#
 
34
#     - intltool-update prints a lot of useless crap to both stderr and
 
35
#       stdout and has no command-line argument meaning "be quiet, and only
 
36
#       print errors", so I just redirected the whole thing to /dev/null.
 
37
#
 
38
#     - Demonstrating a total misunderstanding of build-directories and
 
39
#       VPATH, the .po.gmo rule was writing output to $(srcdir).  When
 
40
#       the current directory is not $(srcdir), one *never* writes to
 
41
#       $(srcdir) -- it is to be considered read-only.
 
42
#
 
43
#     - Likewise, install-data-yes was looking for .gmo files in both the
 
44
#       current directory, and in $(srcdir).  In the case where those are
 
45
#       not the same directory, there must be no .gmo files in $(srcdir).
 
46
#
 
47
#     - The update-po rule was explicitly writing to $(srcdir).  I changed
 
48
#       it to just work in the current directory.  As I understand it, it
 
49
#       only makes sense to run this rule while in the srcdir, e.g., from
 
50
#       distdepend -- so it should be allowed to error out when run in an
 
51
#       inappropriate directory.
 
52
#
 
53
#     - install-data-yes went through great code-duplication-contortions
 
54
#       to cope with the file mentioned by MKINSTALLDIRS not actually
 
55
#       existing!  Instead of assuming that MKINSTALLDIRS will be set to
 
56
#       an actual, correct value, it had a hardcoded check to look for it
 
57
#       in $(top_srcdir) as well!  WTF!
 
58
#
 
59
#     - It turns out that "msgfmt" silently fails to write a .gmo file
 
60
#       if the source .po file is empty (or otherwise not yet written.)
 
61
#       The install-data-yes rule made no provision for this, and would
 
62
#       just error out when the .gmo files were not there.
 
63
#
 
64
#     - $(DESTDIR) was being used where $(install_prefix) should have been.
 
65
#
 
66
#     - For xscreensaver, $(prefix) is generally /usr/X11R6/, but some files
 
67
#       need to go under /usr/ instead of under /usr/X11R6/ -- for those, we
 
68
#       use @PO_DATADIR@ instead of @prefix@.  So I changed $(datadir) and
 
69
#       $(gnulocaledir) appropriately.
 
70
#
 
71
#     - WTF is $(gettextsrcdir) doing in here?
 
72
#
 
73
#     - added  "*.gmo *.pot" to "distclean".
 
74
#
 
75
#     - I added a rule to po/POTFILES.in so that I wouldn't have to maintain
 
76
#       that list of files in two places.
 
77
#   
 
78
#     - I removed the rule to auto-regenerate Makefile from Makefile.in.in
 
79
#       because it made my top-level "make distdepend" rule fail: things
 
80
#       were executing in the wrong order.
 
81
#
 
82
#     - the .po.cat rule has a hardcoded "../intl/po2msg.sed" in it.
 
83
#       Guess what, I don't have any such directory.  And that should be
 
84
#       refering to $(srcdir) anyway.  So I just commented (my half-fixed
 
85
#       version of) this rule out.
 
86
#
 
87
 
 
88
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 
89
PACKAGE = @PACKAGE@
 
90
VERSION = @VERSION@
 
91
 
 
92
SHELL = /bin/sh
 
93
@SET_MAKE@
 
94
 
 
95
srcdir = @srcdir@
 
96
top_srcdir = @top_srcdir@
 
97
top_builddir = ..
 
98
VPATH = @srcdir@
 
99
 
 
100
prefix = @prefix@
 
101
exec_prefix = @exec_prefix@
 
102
#datadir = $(prefix)/@DATADIRNAME@      -- not for xscreensaver
 
103
datadir = @PO_DATADIR@
 
104
localedir = $(datadir)/locale
 
105
#localedir = $(prefix)/share/locale
 
106
#gnulocaledir = $(prefix)/share/locale  -- not for xscreensaver
 
107
gnulocaledir = $(localedir)
 
108
#gettextsrcdir = $(prefix)/share/glib-2.0/gettext/po
 
109
subdir = po
 
110
DESTDIR = $(install_prefix)
 
111
 
 
112
INSTALL = @INSTALL@
 
113
INSTALL_DATA = @INSTALL_DATA@
 
114
 
 
115
# #### NO.  This gets me "..//usr/bin/install: No such file or directory".
 
116
# The @MKINSTALLDIRS@ variable must have the absolute (or unqualified)
 
117
# path of the install program.  --jwz.
 
118
# MKINSTALLDIRS = $(top_builddir)/@MKINSTALLDIRS@
 
119
 
 
120
MKINSTALLDIRS = @MKINSTALLDIRS@
 
121
 
 
122
CC = @CC@
 
123
#GENCAT = @GENCAT@
 
124
GMSGFMT = @GMSGFMT@
 
125
MSGFMT = @MSGFMT@
 
126
XGETTEXT = @XGETTEXT@
 
127
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
 
128
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
 
129
MSGMERGE = $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
 
130
GENPOT   = $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
 
131
 
 
132
DEFS = @DEFS@
 
133
CFLAGS = @CFLAGS@
 
134
CPPFLAGS = @CPPFLAGS@
 
135
 
 
136
INCLUDES = -I.. -I$(top_srcdir)/intl
 
137
 
 
138
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
 
139
 
 
140
SOURCES = 
 
141
POFILES = @POFILES@
 
142
GMOFILES = @GMOFILES@
 
143
DISTFILES_1 = ChangeLog Makefile.in.in POTFILES.in update.sh
 
144
DISTFILES = $(DISTFILES_1) $(GETTEXT_PACKAGE).pot \
 
145
            $(POFILES) $(GMOFILES) $(SOURCES)
 
146
 
 
147
TARFILES = $(DISTFILES_1) $(POFILES) $(SOURCES)
 
148
 
 
149
POTFILES = \
 
150
 
 
151
CATALOGS = @CATALOGS@
 
152
CATOBJEXT = @CATOBJEXT@
 
153
INSTOBJEXT = @INSTOBJEXT@
 
154
 
 
155
.SUFFIXES:
 
156
.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
 
157
 
 
158
.c.o:
 
159
        $(COMPILE) $<
 
160
 
 
161
.po.pox:
 
162
        $(MAKE) $(GETTEXT_PACKAGE).pot
 
163
        INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) ; \
 
164
        export INTLTOOL_EXTRACT ; \
 
165
        echo $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox ; \
 
166
             $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox
 
167
 
 
168
.po.mo:
 
169
        $(MSGFMT) -o $@ $<
 
170
 
 
171
# jwz: the "-" means "ignore any errors here, because I don't give a shit."
 
172
.po.gmo:
 
173
        @-file=`echo $* | sed 's,.*/,,'`.gmo ; \
 
174
         rm -f "$$file" ; \
 
175
         echo $(GMSGFMT) -o "$$file" $< ; \
 
176
              $(GMSGFMT) -o "$$file" $<
 
177
 
 
178
#.po.cat:
 
179
#       @echo "sed -f ../intl/po2msg.sed < $< > $*.msg" ; \
 
180
#              sed -f ../intl/po2msg.sed < $< > $*.msg && \
 
181
#        rm -f $@ && \
 
182
#        echo $(GENCAT) "$@" "$*.msg" ; \
 
183
#             $(GENCAT) "$@" "$*.msg"
 
184
 
 
185
 
 
186
all: all-@USE_NLS@
 
187
default: all
 
188
 
 
189
all-yes: $(CATALOGS)
 
190
all-no:
 
191
 
 
192
$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
 
193
        @INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) ; \
 
194
        export INTLTOOL_EXTRACT ; \
 
195
        echo $(GENPOT) ; \
 
196
             $(GENPOT)
 
197
 
 
198
install-strip: install
 
199
 
 
200
install: install-exec install-data
 
201
install-exec:
 
202
install-program:
 
203
install-man:
 
204
install-strip:
 
205
tags:
 
206
install-data: install-data-@USE_NLS@
 
207
install-data-no: all
 
208
install-data-yes: all
 
209
        @set -e; \
 
210
        catalogs='$(CATALOGS)'; \
 
211
        losers=""; \
 
212
        for cat in $$catalogs; do \
 
213
          cat=`basename $$cat`; \
 
214
          case "$$cat" in \
 
215
            *.gmo) destdir=$(gnulocaledir);; \
 
216
            *)     destdir=$(localedir);; \
 
217
          esac; \
 
218
          lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
 
219
          dir=$(install_prefix)$$destdir/$$lang/LC_MESSAGES; \
 
220
          dest=$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
 
221
          if test -r $$cat -o -r $$cat.m; then \
 
222
            echo $(MKINSTALLDIRS) $$dir; \
 
223
                 $(MKINSTALLDIRS) $$dir; \
 
224
          else \
 
225
            losers="$$losers $$lang"; \
 
226
          fi ; \
 
227
          if test -r $$cat; then \
 
228
            echo $(INSTALL_DATA) $$cat $$dest; \
 
229
                 $(INSTALL_DATA) $$cat $$dest; \
 
230
          fi; \
 
231
          if test -r $$cat.m; then \
 
232
            echo $(INSTALL_DATA) $$cat.m $$dest.m; \
 
233
                 $(INSTALL_DATA) $$cat.m $$dest.m; \
 
234
          fi; \
 
235
        done; \
 
236
        if [ "$$losers" != '' ]; then \
 
237
          echo "Warning: these catalogs were not installed:" >&2 ; \
 
238
          echo "        $$losers" >&2; \
 
239
        fi
 
240
 
 
241
# Define this as empty until I found a useful application.
 
242
installcheck:
 
243
 
 
244
uninstall:
 
245
        @catalogs='$(CATALOGS)'; \
 
246
        for cat in $$catalogs; do \
 
247
          cat=`basename $$cat`; \
 
248
          lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
 
249
          suffix="$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
 
250
          for f in $(install_prefix)$(localedir)/$$suffix \
 
251
                   $(install_prefix)$(localedir)/$$suffix.m \
 
252
                   $(install_prefix)$(gnulocaledir)/$$suffix \
 
253
                   $(install_prefix)$(gnulocaledir)/$$suffix.m; do \
 
254
            if [ -f $$f ]; then \
 
255
              echo rm -f $$f; \
 
256
                   rm -f $$f; \
 
257
            fi; \
 
258
          done; \
 
259
        done
 
260
 
 
261
uninstall-program:
 
262
uninstall-man:
 
263
 
 
264
check: all
 
265
 
 
266
dvi info tags TAGS ID:
 
267
 
 
268
mostlyclean:
 
269
        rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp
 
270
        rm -fr *.o
 
271
 
 
272
clean: mostlyclean
 
273
 
 
274
distclean: clean
 
275
        rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m *.gmo *.pot
 
276
 
 
277
maintainer-clean: distclean
 
278
        @echo "This command is intended for maintainers to use;"
 
279
        @echo "it deletes files that may require special tools to rebuild."
 
280
        rm -f $(GMOFILES)
 
281
 
 
282
depend:
 
283
# fuck off.  love, jwz.
 
284
#distdepend: generate_potfiles_in update-po $(DISTFILES)
 
285
distdepend::
 
286
 
 
287
 
 
288
# jwz: Generates po/POTFILES.in by examining the source tree:
 
289
# that way we don't have to keep this list up to date as files are added.
 
290
#
 
291
generate_potfiles_in:
 
292
        @tmp=po.$$$$ ;                          \
 
293
         file=POTFILES.in ;                     \
 
294
         ( cd $(top_srcdir);                    \
 
295
           echo "# Auto-generated: `date`" ;    \
 
296
           ( grep -l '_("' driver/*.[ch] ;      \
 
297
             ls driver/*.glade                  \
 
298
                driver/*.glade2                 \
 
299
                driver/*.desktop.in             \
 
300
                hacks/config/*.xml ) | sort     \
 
301
          ) > $$tmp &&                          \
 
302
         mv $$tmp $$file &&                     \
 
303
         echo "created `pwd`/$$file"
 
304
 
 
305
echo_tarfiles:
 
306
        @echo $(TARFILES)
 
307
 
 
308
distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir)
 
309
dist distdir: update-po $(DISTFILES)
 
310
        dists="$(DISTFILES)"; \
 
311
        for file in $$dists; do \
 
312
          ln $(srcdir)/$$file $(distdir) 2> /dev/null \
 
313
            || cp -p $(srcdir)/$$file $(distdir); \
 
314
        done
 
315
 
 
316
update-po: Makefile
 
317
        $(MAKE) $(GETTEXT_PACKAGE).pot
 
318
        @catalogs='$(CATALOGS)'; \
 
319
        INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) ; \
 
320
        export INTLTOOL_EXTRACT ; \
 
321
        for cat in $$catalogs; do \
 
322
          cat=`basename $$cat`; \
 
323
          lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
 
324
          cp $$lang.po $$lang.old.po; \
 
325
          echo $(MSGMERGE) $$lang; \
 
326
          if   $(MSGMERGE) $$lang >/dev/null 2>&1; then \
 
327
            rm -f $$lang.old.po; \
 
328
          else \
 
329
            echo "msgmerge for $$cat failed!"; \
 
330
            rm -f $$lang.po; \
 
331
            mv $$lang.old.po $$lang.po; \
 
332
          fi; \
 
333
        done
 
334
 
 
335
.po: Makefile
 
336
        $(MAKE)  $(PACKAGE).pot;
 
337
        INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) ; \
 
338
        export INTLTOOL_EXTRACT ; \
 
339
        echo; printf "$*: "; \
 
340
        if $(MSGMERGE) $*; then \
 
341
          rm -f $*.old.po; \
 
342
          else \
 
343
            echo "msgmerge for * failed!"; \
 
344
            mv $*.old.po $*.po; \
 
345
        fi; \
 
346
        msgfmt --statistics $*.po; echo;
 
347
 
 
348
 
 
349
# POTFILES is created from POTFILES.in by stripping comments, empty lines
 
350
# and Intltool tags (enclosed in square brackets), and appending a full
 
351
# relative path to them
 
352
POTFILES: POTFILES.in
 
353
        ( if test 'x$(srcdir)' != 'x.'; then \
 
354
            posrcprefix='$(top_srcdir)/'; \
 
355
          else \
 
356
            posrcprefix="../"; \
 
357
          fi; \
 
358
          rm -f $@-t $@ \
 
359
            && (sed -e '/^#/d'                                          \
 
360
                    -e "s/^\[.*\] +//"                                  \
 
361
                    -e '/^[     ]*$$/d'                                 \
 
362
                    -e "s@.*@   $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
 
363
                | sed -e '$$s/\\$$//') > $@-t \
 
364
            && chmod a-w $@-t \
 
365
            && mv $@-t $@ )
 
366
 
 
367
# Please to be fucking the hell off.   This breaks "make distdepend". -jwz
 
368
#Makefile: Makefile.in.in ../config.status POTFILES
 
369
#       cd .. \
 
370
#         && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
 
371
#              $(SHELL) ./config.status
 
372
 
 
373
# Tell versions [3.59,3.63) of GNU make not to export all variables.
 
374
# Otherwise a system limit (for SysV at least) may be exceeded.
 
375
.NOEXPORT: