]>
Commit | Line | Data |
---|---|---|
1 | # Makefile for program source directory in GNU NLS utilities package. | |
2 | # Copyright (C) 1995-1997, 2000, 2001 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 General 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 | PACKAGE = @PACKAGE@ | |
10 | VERSION = @VERSION@ | |
11 | ||
12 | # These two variables depend on the location of this directory. | |
13 | subdir = po | |
14 | top_builddir = .. | |
15 | ||
16 | SHELL = /bin/sh | |
17 | @SET_MAKE@ | |
18 | ||
19 | srcdir = @srcdir@ | |
20 | top_srcdir = @top_srcdir@ | |
21 | VPATH = @srcdir@ | |
22 | ||
23 | prefix = @prefix@ | |
24 | exec_prefix = @exec_prefix@ | |
25 | datadir = @datadir@ | |
26 | localedir = $(datadir)/locale | |
27 | gettextsrcdir = $(datadir)/gettext/po | |
28 | ||
29 | INSTALL = @INSTALL@ | |
30 | INSTALL_DATA = @INSTALL_DATA@ | |
31 | MKINSTALLDIRS = @MKINSTALLDIRS@ | |
32 | mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac` | |
33 | ||
34 | CC = @CC@ | |
35 | GMSGFMT = @GMSGFMT@ | |
36 | MSGFMT = @MSGFMT@ | |
37 | XGETTEXT = @XGETTEXT@ | |
38 | MSGMERGE = msgmerge | |
39 | ||
40 | DEFS = @DEFS@ | |
41 | CFLAGS = @CFLAGS@ | |
42 | CPPFLAGS = @CPPFLAGS@ | |
43 | ||
44 | INCLUDES = -I.. -I$(top_srcdir)/intl | |
45 | ||
46 | COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) | |
47 | ||
48 | POFILES = @POFILES@ | |
49 | GMOFILES = @GMOFILES@ | |
50 | DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \ | |
51 | $(POFILES) $(GMOFILES) | |
52 | ||
53 | POTFILES = \ | |
54 | ||
55 | CATALOGS = @CATALOGS@ | |
56 | ||
57 | .SUFFIXES: | |
58 | .SUFFIXES: .c .o .po .pox .gmo .mo | |
59 | ||
60 | .c.o: | |
61 | $(COMPILE) $< | |
62 | ||
63 | .po.pox: | |
64 | $(MAKE) $(PACKAGE).pot | |
65 | $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox | |
66 | ||
67 | .po.mo: | |
68 | $(MSGFMT) -o $@ $< | |
69 | ||
70 | .po.gmo: | |
71 | file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ | |
72 | && rm -f $$file && $(GMSGFMT) --statistics -o $$file $< | |
73 | ||
74 | ||
75 | all: all-@USE_NLS@ | |
76 | ||
77 | all-yes: $(CATALOGS) | |
78 | all-no: | |
79 | ||
80 | # Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot', | |
81 | # otherwise packages like GCC can not be built if only parts of the source | |
82 | # have been downloaded. | |
83 | ||
84 | $(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in | |
85 | $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \ | |
86 | --add-comments --keyword=_ --keyword=N_ \ | |
87 | --files-from=$(srcdir)/POTFILES.in \ | |
88 | && test ! -f $(PACKAGE).po \ | |
89 | || ( rm -f $(srcdir)/$(PACKAGE).pot \ | |
90 | && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot ) | |
91 | ||
92 | ||
93 | install: install-exec install-data | |
94 | install-exec: | |
95 | install-data: install-data-@USE_NLS@ | |
96 | if test "$(PACKAGE)" = "gettext"; then \ | |
97 | $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ | |
98 | $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ | |
99 | $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ | |
100 | else \ | |
101 | : ; \ | |
102 | fi | |
103 | install-data-no: all | |
104 | install-data-yes: all | |
105 | $(mkinstalldirs) $(DESTDIR)$(datadir) | |
106 | @catalogs='$(CATALOGS)'; \ | |
107 | for cat in $$catalogs; do \ | |
108 | cat=`basename $$cat`; \ | |
109 | lang=`echo $$cat | sed 's/\.gmo$$//'`; \ | |
110 | dir=$(localedir)/$$lang/LC_MESSAGES; \ | |
111 | $(mkinstalldirs) $(DESTDIR)$$dir; \ | |
112 | if test -r $$cat; then \ | |
113 | $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ | |
114 | echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \ | |
115 | else \ | |
116 | $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \ | |
117 | echo "installing $(srcdir)/$$cat as" \ | |
118 | "$(DESTDIR)$$dir/$(PACKAGE).mo"; \ | |
119 | fi; \ | |
120 | done | |
121 | ||
122 | # Define this as empty until I found a useful application. | |
123 | installcheck: | |
124 | ||
125 | uninstall: | |
126 | catalogs='$(CATALOGS)'; \ | |
127 | for cat in $$catalogs; do \ | |
128 | cat=`basename $$cat`; \ | |
129 | lang=`echo $$cat | sed 's/\.gmo$$//'`; \ | |
130 | rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \ | |
131 | done | |
132 | if test "$(PACKAGE)" = "gettext"; then \ | |
133 | rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ | |
134 | else \ | |
135 | : ; \ | |
136 | fi | |
137 | ||
138 | check: all | |
139 | ||
140 | dvi info tags TAGS ID: | |
141 | ||
142 | mostlyclean: | |
143 | rm -f core core.* *.pox $(PACKAGE).po *.new.po | |
144 | rm -fr *.o | |
145 | ||
146 | clean: mostlyclean | |
147 | ||
148 | distclean: clean | |
149 | rm -f Makefile Makefile.in POTFILES *.mo | |
150 | ||
151 | maintainer-clean: distclean | |
152 | @echo "This command is intended for maintainers to use;" | |
153 | @echo "it deletes files that may require special tools to rebuild." | |
154 | rm -f $(GMOFILES) | |
155 | ||
156 | distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) | |
157 | dist distdir: | |
158 | $(MAKE) update-po | |
159 | @$(MAKE) dist2 | |
160 | # This is a separate target because 'update-po' must be executed before. | |
161 | dist2: $(DISTFILES) | |
162 | dists="$(DISTFILES)"; \ | |
163 | for file in $$dists; do \ | |
164 | if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ | |
165 | cp -p $$dir/$$file $(distdir); \ | |
166 | done | |
167 | ||
168 | update-po: Makefile | |
169 | $(MAKE) $(PACKAGE).pot | |
170 | if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \ | |
171 | cd $(srcdir); \ | |
172 | catalogs='$(GMOFILES)'; \ | |
173 | for cat in $$catalogs; do \ | |
174 | cat=`basename $$cat`; \ | |
175 | lang=`echo $$cat | sed 's/\.gmo$$//'`; \ | |
176 | echo "$$lang:"; \ | |
177 | if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \ | |
178 | mv -f $$lang.new.po $$lang.po; \ | |
179 | else \ | |
180 | echo "msgmerge for $$cat failed!"; \ | |
181 | rm -f $$lang.new.po; \ | |
182 | fi; \ | |
183 | done | |
184 | $(MAKE) update-gmo | |
185 | ||
186 | update-gmo: Makefile $(GMOFILES) | |
187 | @: | |
188 | ||
189 | Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in | |
190 | cd $(top_builddir) \ | |
191 | && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ | |
192 | $(SHELL) ./config.status | |
193 | ||
194 | # Tell versions [3.59,3.63) of GNU make not to export all variables. | |
195 | # Otherwise a system limit (for SysV at least) may be exceeded. | |
196 | .NOEXPORT: |