Imported Upstream version 2.6.0
[debian/amanda] / po / Makefile.am
1 # Makefile for PO directory in any package using GNU gettext.
2
3 # Usually the message domain is the same as the package name.
4 PACKAGE = amanda
5 MAINTAINER_EMAIL = support@zmanda.com
6
7 POFILES = $(wildcard *.po)
8 #MOFILES = $(patsubst %.po,%.mo,$(POFILES)) 
9 MOFILES = 
10
11 CFILES = $(wildcard $(top_srcdir)/*/*.[ch])
12 PLFILES = $(wildcard $(top_srcdir)/*/*.pl.in)
13 SHFILES = $(wildcard $(top_srcdir)/*/*.sh.in)
14 ALLFILES = $(CFILES) $(PLFILES) $(SHFILES)
15
16 # This variable depends on the location of this directory.
17 top_builddir = ..
18 localedir=$(datadir)/locale
19
20 # These options get passed to xgettext.
21 XGETTEXT_OPTIONS = --keyword=_ --keyword=_T
22
23 # This is the list of locale categories, beyond LC_MESSAGES, for which the
24 # message catalogs shall be used.  It is usually empty.
25 EXTRA_LOCALE_CATEGORIES =
26
27
28 GMSGFMT = gmsgfmt
29 MSGFMT = msgfmt
30 MSGINIT = msginit
31 MSGMERGE = msgmerge
32 MSGMERGE_UPDATE = msgmerge --update
33 XGETTEXT = xgettext
34
35 DISTFILES =                     \
36         ${POFILES}              \
37         ${MOFILES}              \
38         boldquot.sed            \
39         en@boldquot.header      \
40         en@quot.header          \
41         insert-header.sin       \
42         Makefile.am             \
43         Makefile.in             \
44         Makevars                \
45         quot.sed                \
46         remove-potcdate.sin     \
47         Rules-quot              \
48         stamp-po
49
50 SUFFIXES = .po .mo .sed .sin
51
52 .sin.sed:
53         sed -e '/^#/d' $< > t-$@
54         mv t-$@ $@
55
56 all: $(MOFILES)
57
58 # This target rebuilds amanda.pot; it is an expensive operation.
59 # Note that amanda.pot is not touched if it doesn't need to be changed.
60 amanda.pot: $(ALLFILES)
61         @echo $(XGETTEXT) --language=C --output=amanda.pot ... 
62         @$(XGETTEXT) --output=amanda.pot --default-domain=amanda           \
63           --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) --language=C     \
64           $(CFILES)
65         @echo $(XGETTEXT) --language=Perl --join-existing --output=amanda.pot ... 
66         @$(XGETTEXT) --output=amanda.pot --default-domain=amanda           \
67           --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) --language=Perl  \
68           --join-existing $(PLFILES)
69         @echo $(XGETTEXT) --language=Shell --join-existing --output=amanda.pot ... 
70         @$(XGETTEXT) --output=amanda.pot --default-domain=amanda           \
71           --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) --language=Shell \
72           --join-existing $(SHFILES)
73         @test ! -f amanda.po || {                                          \
74           if test -f $(srcdir)/amanda.pot; then                            \
75             sed -f remove-potcdate.sed < $(srcdir)/amanda.pot > amanda.1po && \
76             sed -f remove-potcdate.sed < amanda.po > amanda.2po &&         \
77             if cmp amanda.1po amanda.2po >/dev/null 2>&1; then             \
78               rm -f amanda.1po amanda.2po amanda.po;                       \
79             else                                                           \
80               rm -f amanda.1po amanda.2po $(srcdir)/amanda.pot &&          \
81               mv amanda.po $(srcdir)/amanda.pot;                           \
82             fi;                                                            \
83           else                                                             \
84             mv amanda.po $(srcdir)/amanda.pot;                             \
85           fi;                                                              \
86         }
87
88
89 # This target rebuilds a PO file if amanda.pot has changed.
90 # Note that a PO file is not touched if it doesn't need to be changed.
91 %.po: amanda.pot
92         @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
93         if test "$$lang" = "en_ZM"; then  \
94           echo msgen -o en.po amanda.pot; \
95           msgen -o en.po amanda.pot; \
96         elif test -f "$(srcdir)/$${lang}.po"; then \
97           echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po amanda.pot"; \
98           cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po amanda.pot; \
99         else \
100           echo $(MSGINIT) --locale=$${lang} --input=amanda.pot --output-file=$${lang}.po; \
101           $(MSGINIT) --no-translator --locale=$${lang} --input=amanda.pot --output-file=$${lang}.po; \
102         fi
103
104 #en_ZM.po: en.po zlocale.pl ztranslation
105 #       @chmod +x ./zlocale.pl
106 #       ./zlocale.pl                    
107
108 %.mo: %.po
109         @echo "$(MSGFMT) -o $@ $<"; \
110         $(MSGFMT) -o t-$@ $< && mv t-$@ $@
111
112 install-data-hook: $(MOFILES)
113         @for cat in "" $(MOFILES); do \
114           if test -z "$$cat" -o "$$cat" = "en.mo"; then \
115             continue; \
116           fi; \
117           cat=`basename $$cat`; \
118           lang=`echo $$cat | sed -e 's/\.mo$$//'`; \
119           dir=$(localedir)/$$lang/LC_MESSAGES; \
120           $(mkdir_p) $(DESTDIR)$$dir; \
121           if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
122           $(INSTALL) $$realcat $(DESTDIR)$$dir/amanda.mo; \
123           echo "installing $$realcat as $(DESTDIR)$$dir/amanda.mo"; \
124           for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
125             if test -n "$$lc"; then \
126               if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
127                 link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
128                 mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
129                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
130                 (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
131                  for file in *; do \
132                    if test -f $$file; then \
133                      ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
134                    fi; \
135                  done); \
136                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
137               else \
138                 if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
139                   :; \
140                 else \
141                   rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
142                   mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
143                 fi; \
144               fi; \
145               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/amanda.mo; \
146               ln -s ../LC_MESSAGES/amanda.mo $(DESTDIR)$(localedir)/$$lang/$$lc/amanda.mo 2>/dev/null || \
147               ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/amanda.mo $(DESTDIR)$(localedir)/$$lang/$$lc/amanda.mo 2>/dev/null || \
148               cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/amanda.mo $(DESTDIR)$(localedir)/$$lang/$$lc/amanda.mo; \
149               echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/amanda.mo"; \
150             fi; \
151           done; \
152          done