(main): Declare to be of type int, not void.
[coreutils.git] / po / Makefile.in.in
blobae15b8f3edc470b0068d31752e52a730b8886126
1 # Makefile for program source directory in GNU NLS utilities package.
2 # Copyright (C) 1995, 1996 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 PACKAGE = @PACKAGE@
19 VERSION = @VERSION@
21 SHELL = /bin/sh
22 @SET_MAKE@
24 srcdir = @srcdir@
25 top_srcdir = @top_srcdir@
26 VPATH = @srcdir@
28 prefix = @prefix@
29 exec_prefix = @exec_prefix@
30 datadir = $(prefix)/@DATADIRNAME@
31 localedir = $(datadir)/locale
32 gnulocaledir = $(prefix)/share/locale
33 gettextsrcdir = $(prefix)/share/gettext
34 subdir = po
36 INSTALL = @INSTALL@
37 INSTALL_DATA = @INSTALL_DATA@
39 CC = @CC@
40 GENCAT = @GENCAT@
41 GMSGFMT = @GMSGFMT@
42 MSGFMT = @MSGFMT@
43 XGETTEXT = @XGETTEXT@
44 TUPDATE = tupdate
46 DEFS = @DEFS@
47 CFLAGS = @CFLAGS@
48 CPPFLAGS = @CPPFLAGS@
50 INCLUDES = -I.. -I$(top_srcdir)/intl
52 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
54 SOURCES = cat-id-tbl.c
55 POFILES = @POFILES@
56 GMOFILES = @GMOFILES@
57 DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
58 stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
60 POTFILES = \
62 CATALOGS = @CATALOGS@
63 CATOBJEXT = @CATOBJEXT@
64 INSTOBJEXT = @INSTOBJEXT@
66 .SUFFIXES:
67 .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
69 .c.o:
70         $(COMPILE) $<
72 .po.pox:
73         $(MAKE) $(PACKAGE).pot
74         $(TUPDATE) $(srcdir)/$(PACKAGE).pot $< > $*.pox
76 .po.mo:
77         $(MSGFMT) -o $@ $<
79 .po.gmo:
80         file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
81           && rm -f $$file && $(GMSGFMT) -o $$file $<
83 .po.cat:
84         sed -f ../intl/po2msg.sed < $< > $*.msg \
85           && rm -f $@ && $(GENCAT) $@ $*.msg
88 all: all-@USE_NLS@
90 all-yes: cat-id-tbl.c $(CATALOGS)
91 all-no:
93 $(PACKAGE).pot: $(POTFILES)
94         $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
95           --add-comments --keyword=_ --keyword=N_ \
96           --files-from=$(srcdir)/POTFILES.in
97         if cmp -s $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; then \
98           rm -f $(PACKAGE).po; \
99         else \
100           rm -f $(srcdir)/$(PACKAGE).pot \
101             && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot; \
102         fi
104 cat-id-tbl.c: stamp-cat-id
105 stamp-cat-id: $(PACKAGE).pot
106         rm -f cat-id-tbl.tmp.c
107         sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
108                 | sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp.c
109         if cmp -s cat-id-tbl.tmp.c $(srcdir)/cat-id-tbl.c; then \
110           rm cat-id-tbl.tmp.c; \
111         else \
112           echo cat-id-tbl.c changed; \
113           rm -f $(srcdir)/cat-id-tbl.c; \
114           mv cat-id-tbl.tmp.c $(srcdir)/cat-id-tbl.c; \
115         fi
116         cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
119 install: install-exec install-data
120 install-exec:
121 install-data: all
122         $(top_srcdir)/mkinstalldirs $(datadir)
123         catalogs='$(CATALOGS)'; \
124         for cat in $$catalogs; do \
125           case "$$cat" in \
126             *.gmo) destdir=$(gnulocaledir);; \
127             *)     destdir=$(localedir);; \
128           esac; \
129           lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
130           dir=$$destdir/$$lang/LC_MESSAGES; \
131           $(top_srcdir)/mkinstalldirs $$dir; \
132           if test -r $$cat; then \
133             $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
134           else \
135             $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
136           fi; \
137         done
139 # This installation goal is only used in GNU gettext.  Packages which
140 # only use the library should use install instead.
141 install-src: install
142         $(top_srcdir)/mkinstalldirs $(gettextsrcdir)
143         cd $(srcdir) && \
144           $(INSTALL_DATA) Makefile.in.in $(gettextsrcdir)/po-Makefile.in.in
146 uninstall:
147         catalogs='$(CATALOGS)'; \
148         for cat in $$catalogs; do \
149           lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
150           rm -f $(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
151           rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
152         done
153         rm -f $(gettextsrcdir)/po-Makefile.in.in
155 check: all
157 cat-id-tbl.o: ../intl/libgettext.h
159 TAGS ID:
161 mostlyclean:
162         rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp.c
163         rm -fr *.o
165 clean: mostlyclean
167 distclean: clean
168         rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat
170 maintainer-clean: distclean
171         @echo "This command is intended for maintainers to use;"
172         @echo "it deletes files that may require special tools to rebuild."
174 distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
175 dist dist-gettext: update-po $(DISTFILES)
176         for file in $(DISTFILES); do \
177           ln $(srcdir)/$$file $(distdir) 2> /dev/null \
178             || cp -p $(srcdir)/$$file $(distdir); \
179         done
181 update-po: Makefile
182         $(MAKE) $(PACKAGE).pot
183         cd $(srcdir); \
184         catalogs='$(CATALOGS)'; \
185         for cat in $$catalogs; do \
186           lang=`echo $$cat | sed 's/$(CATOBJEXT)$$//'`; \
187           mv $$lang.po $$lang.old.po; \
188           if $(TUPDATE) $(PACKAGE).pot $$lang.old.po > $$lang.po; then \
189             rm -f $$lang.old.po; \
190           else \
191             echo "tupdate for $$cat failed!"; \
192             rm -f $$lang.po; \
193             mv $$lang.old.po $$lang.po; \
194           fi; \
195         done
197 POTFILES: POTFILES.in
198         ( if test 'x$(srcdir)' != 'x.'; then \
199             posrcprefix='$(top_srcdir)/'; \
200           else \
201             posrcprefix="../"; \
202           fi; \
203           sed -e '/^#/d' -e '/^[        ]*$$/d' \
204               -e "s@.*@ $$posrcprefix& \\\\@" \
205               -e '$$s/\(.*\) \\/\1/' < $(srcdir)/POTFILES.in > POTFILES )
207 Makefile: Makefile.in.in ../config.status POTFILES
208         cd .. \
209           && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
210                $(SHELL) ./config.status
212 # Tell versions [3.59,3.63) of GNU make not to export all variables.
213 # Otherwise a system limit (for SysV at least) may be exceeded.
214 .NOEXPORT: