My fix in commit 9e4aa586f7 was not enough because CLEANFILES apparently
would only be processed on Makefile.am (i.e. with automake). Just remove
the file explicitly in the distclean rule.
225 lines
7.1 KiB
Text
225 lines
7.1 KiB
Text
# Makefile for program source directory in GNU NLS utilities package.
|
|
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
|
#
|
|
# This file file be copied and used freely without restrictions. It can
|
|
# be used in projects which are not available under the GNU Public License
|
|
# but which still want to provide support for the GNU gettext functionality.
|
|
# Please note that the actual code is *not* freely available.
|
|
#
|
|
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
|
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
|
#
|
|
# - Modified by jacob berkman <jacob@ximian.com> to install
|
|
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
|
#
|
|
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
|
#
|
|
# We have the following line for use by intltoolize:
|
|
# INTLTOOL_MAKEFILE
|
|
|
|
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-std-plug-ins
|
|
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
|
|
|
PACKAGE = @PACKAGE@
|
|
VERSION = @VERSION@
|
|
|
|
SHELL = /bin/sh
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = @top_builddir@
|
|
VPATH = @srcdir@
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
datadir = @datadir@
|
|
datarootdir = @datarootdir@
|
|
libdir = @libdir@
|
|
DATADIRNAME = @DATADIRNAME@
|
|
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
|
subdir = po-plug-ins
|
|
install_sh = @install_sh@
|
|
# Automake >= 1.8 provides @mkdir_p@.
|
|
# Until it can be supposed, use the safe fallback:
|
|
mkdir_p = $(install_sh) -d
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
GMSGFMT = @GMSGFMT@
|
|
MSGFMT = @MSGFMT@
|
|
XGETTEXT = @XGETTEXT@
|
|
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
|
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
|
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
|
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
|
|
|
ALL_LINGUAS = @ALL_LINGUAS@
|
|
|
|
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
|
|
|
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
|
|
|
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
|
|
|
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
|
|
|
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
|
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
|
|
|
POTFILES = \
|
|
# This comment gets stripped out
|
|
|
|
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
|
|
|
.po.pox:
|
|
$(MAKE) $(GETTEXT_PACKAGE).pot
|
|
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
|
|
|
.po.mo:
|
|
$(MSGFMT) -o $@ $<
|
|
|
|
.po.gmo:
|
|
file=`echo $* | sed 's,.*/,,'`.gmo \
|
|
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
|
|
|
.po.cat:
|
|
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
|
&& rm -f $@ && gencat $@ $*.msg
|
|
|
|
|
|
all: all-@USE_NLS@
|
|
|
|
all-yes: $(CATALOGS)
|
|
all-no:
|
|
|
|
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
|
$(GENPOT)
|
|
|
|
install: install-data
|
|
install-data: install-data-@USE_NLS@
|
|
install-data-no: all
|
|
install-data-yes: all
|
|
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
|
linguas="$(USE_LINGUAS)"; \
|
|
for lang in $$linguas; do \
|
|
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
|
$(mkdir_p) $$dir; \
|
|
if test -r $$lang.gmo; then \
|
|
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
|
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
|
else \
|
|
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
|
echo "installing $(srcdir)/$$lang.gmo as" \
|
|
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
|
fi; \
|
|
if test -r $$lang.gmo.m; then \
|
|
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
|
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
|
else \
|
|
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
|
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
|
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
|
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
|
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
|
else \
|
|
true; \
|
|
fi; \
|
|
fi; \
|
|
done
|
|
|
|
# Empty stubs to satisfy archaic automake needs
|
|
dvi info tags TAGS ID:
|
|
|
|
# Define this as empty until I found a useful application.
|
|
install-exec installcheck:
|
|
|
|
uninstall:
|
|
linguas="$(USE_LINGUAS)"; \
|
|
for lang in $$linguas; do \
|
|
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
|
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
|
done
|
|
|
|
check: all $(GETTEXT_PACKAGE).pot
|
|
rm -f missing notexist
|
|
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
|
if [ -r missing -o -r notexist ]; then \
|
|
exit 1; \
|
|
fi
|
|
|
|
mostlyclean:
|
|
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
|
rm -f .intltool-merge-cache
|
|
|
|
clean: mostlyclean
|
|
|
|
distclean: clean
|
|
rm -f Makefile Makefile.in POTFILES stamp-it
|
|
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
|
# Around December of 2020, a possible change on intltool-merge or some
|
|
# other dependency in Debian testing broke the CI distcheck job, leaving
|
|
# some lock files. This CLEANFILES rule should be removed once this is
|
|
# fixed upstream.
|
|
rm -f .intltool-merge-cache.lock
|
|
|
|
maintainer-clean: distclean
|
|
@echo "This command is intended for maintainers to use;"
|
|
@echo "it deletes files that may require special tools to rebuild."
|
|
rm -f Makefile.in.in
|
|
|
|
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
|
dist distdir: $(DISTFILES)
|
|
dists="$(DISTFILES)"; \
|
|
extra_dists="$(EXTRA_DISTFILES)"; \
|
|
for file in $$extra_dists; do \
|
|
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
|
done; \
|
|
for file in $$dists; do \
|
|
test -f $$file || file="$(srcdir)/$$file"; \
|
|
ln $$file $(distdir) 2> /dev/null \
|
|
|| cp -p $$file $(distdir); \
|
|
done
|
|
|
|
update-po: Makefile
|
|
$(MAKE) $(GETTEXT_PACKAGE).pot
|
|
tmpdir=`pwd`; \
|
|
linguas="$(USE_LINGUAS)"; \
|
|
for lang in $$linguas; do \
|
|
echo "$$lang:"; \
|
|
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
|
if $$result; then \
|
|
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
|
rm -f $$tmpdir/$$lang.new.po; \
|
|
else \
|
|
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
|
:; \
|
|
else \
|
|
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
|
rm -f $$tmpdir/$$lang.new.po; \
|
|
exit 1; \
|
|
fi; \
|
|
fi; \
|
|
else \
|
|
echo "msgmerge for $$lang.gmo failed!"; \
|
|
rm -f $$tmpdir/$$lang.new.po; \
|
|
fi; \
|
|
done
|
|
|
|
Makefile POTFILES: stamp-it
|
|
@if test ! -f $@; then \
|
|
rm -f stamp-it; \
|
|
$(MAKE) stamp-it; \
|
|
fi
|
|
|
|
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
|
cd $(top_builddir) \
|
|
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
|
$(SHELL) ./config.status
|
|
|
|
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
.NOEXPORT:
|