Imported Upstream version 2.8.0
[platform/upstream/man-db.git] / man / po4a / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2 ##
3 ## Copyright (C) 2008 Colin Watson.
4 ##
5 ## This file is part of man-db.
6 ##
7 ## man-db is free software; you can redistribute it and/or modify it
8 ## under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation; either version 2 of the License, or
10 ## (at your option) any later version.
11 ##
12 ## man-db is distributed in the hope that it will be useful, but
13 ## WITHOUT ANY WARRANTY; without even the implied warranty of
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 ## GNU General Public License for more details.
16 ##
17 ## You should have received a copy of the GNU General Public License
18 ## along with man-db; if not, write to the Free Software Foundation,
19 ## Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20
21 DOMAIN = man-db-manpages
22 POFILES = \
23         po/da.po \
24         po/de.po \
25         po/fr.po \
26         po/id.po \
27         po/ja.po \
28         po/nl.po \
29         po/pl.po \
30         po/pt_BR.po \
31         po/ru.po \
32         po/sr.po \
33         po/sv.po \
34         po/tr.po \
35         po/zh_CN.po
36
37 EXTRA_DIST = po4a.cfg Locale/Po4a/Manext.pm po/$(DOMAIN).pot $(POFILES)
38
39 if PO4A
40 PO4A_ENVIRONMENT = PERL5LIB=$(srcdir)
41 STAGING = $(builddir)/tmp-po
42
43 # Always generate output files even if poorly translated, since Automake's
44 # generated rules will get upset otherwise.
45 PO4A_ARGS = --variable srcdir=$(top_srcdir)/man \
46             --variable builddir=$(top_builddir)/man \
47             --variable podir=$(STAGING) \
48             --keep 0
49
50 RUN_PO4A = $(PO4A_ENVIRONMENT) $(PO4A) $(PO4A_ARGS)
51
52 all-local:
53         rm -rf $(STAGING)
54         $(MKDIR_P) $(STAGING)
55         set -e; for f in po/$(DOMAIN).pot $(POFILES); do \
56                 base=`basename $$f`; \
57                 cp -p $(srcdir)/$$f $(STAGING)/; \
58                 chmod u+w $(STAGING)/$$base; \
59         done
60         $(RUN_PO4A) $(srcdir)/po4a.cfg
61         rm -rf $(STAGING)
62
63 update-po-real:
64         @$(MAKE) -C $(top_builddir)/po remove-potcdate.sed
65         rm -rf $(STAGING)
66         $(MKDIR_P) $(STAGING)
67         set -e; for f in po/$(DOMAIN).pot $(POFILES); do \
68                 base=`basename $$f`; \
69                 cp -p $(srcdir)/$$f $(STAGING)/; \
70                 chmod u+w $(STAGING)/$$base; \
71         done
72         $(RUN_PO4A) --force --no-translations $(srcdir)/po4a.cfg
73         sed -f $(top_builddir)/po/remove-potcdate.sed \
74                 < $(srcdir)/po/$(DOMAIN).pot > $(STAGING)/$(DOMAIN).1po
75         sed -f $(top_builddir)/po/remove-potcdate.sed \
76                 < $(STAGING)/$(DOMAIN).pot > $(STAGING)/$(DOMAIN).2po
77         set -e; if ! cmp $(STAGING)/$(DOMAIN).1po $(STAGING)/$(DOMAIN).2po \
78                         >/dev/null 2>&1; then \
79                 for f in po/$(DOMAIN).pot $(POFILES); do \
80                         base=`basename $$f`; \
81                         mv -f $(STAGING)/$$base $(srcdir)/$$f; \
82                 done; \
83         fi
84         rm -rf $(STAGING)
85
86 update-po:
87         @set -e; if test $(srcdir) = $(builddir); then \
88                 $(MAKE) update-po-real; \
89         else \
90                 echo "update-po does not yet work with out-of-tree builds."; \
91         fi
92
93 po/man-db-manpages.pot:
94         $(MAKE) update-po
95
96 clean-local:
97         rm -rf $(STAGING)
98 endif