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>
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 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.
12 # These two variables depend on the location of this directory.
20 top_srcdir = @top_srcdir@
24 exec_prefix = @exec_prefix@
26 localedir = $(datadir)/locale
27 gettextsrcdir = $(datadir)/gettext/po
30 INSTALL_DATA = @INSTALL_DATA@
31 MKINSTALLDIRS = @MKINSTALLDIRS@
32 mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
44 INCLUDES = -I.. -I$(top_srcdir)/intl
46 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
50 DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
51 $(POFILES) $(GMOFILES)
58 .SUFFIXES: .c .o .po .pox .gmo .mo
64 $(MAKE) $(PACKAGE).pot
65 $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
71 file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
72 && rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
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.
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 )
93 install: install-exec install-data
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; \
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"; \
116 $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
117 echo "installing $(srcdir)/$$cat as" \
118 "$(DESTDIR)$$dir/$(PACKAGE).mo"; \
122 # Define this as empty until I found a useful application.
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; \
132 if test "$(PACKAGE)" = "gettext"; then \
133 rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
140 dvi info tags TAGS ID:
143 rm -f core core.* *.pox $(PACKAGE).po *.new.po
149 rm -f Makefile Makefile.in POTFILES *.mo
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."
156 distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
160 # This is a separate target because 'update-po' must be executed before.
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); \
169 $(MAKE) $(PACKAGE).pot
170 if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \
172 catalogs='$(GMOFILES)'; \
173 for cat in $$catalogs; do \
174 cat=`basename $$cat`; \
175 lang=`echo $$cat | sed 's/\.gmo$$//'`; \
177 if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \
178 mv -f $$lang.new.po $$lang.po; \
180 echo "msgmerge for $$cat failed!"; \
181 rm -f $$lang.new.po; \
186 update-gmo: Makefile $(GMOFILES)
189 Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in
191 && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
192 $(SHELL) ./config.status
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.