From 4dbebefc584e14ab2fedf43ee06d83f4fb40a8d1 Mon Sep 17 00:00:00 2001 From: wdlkmpx Date: Sat, 19 Jun 2021 23:04:36 -0500 Subject: [PATCH] po/Makefile.in.gen generates po/Makefile.in --- .gitignore | 4 +- autogen.sh | 12 ++- configure.ac | 4 +- po/LINGUAS | 1 - po/Makefile.in | 88 ++++++++++++++++++++ po/Makefile.in.gen | 97 ++++++++++++++++++++++ po/Makefile.in.in | 198 --------------------------------------------- po/POTFILES.in | 13 --- po/readme.txt | 6 ++ 9 files changed, 201 insertions(+), 222 deletions(-) delete mode 100644 po/LINGUAS create mode 100644 po/Makefile.in create mode 100755 po/Makefile.in.gen delete mode 100644 po/Makefile.in.in delete mode 100644 po/POTFILES.in create mode 100644 po/readme.txt diff --git a/.gitignore b/.gitignore index 9ca4ee2..6072582 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,8 @@ *.o ar-lib po/POTFILES -po/*.gmo +*.gmo +*.mo stamp-it compile config.guess @@ -20,6 +21,7 @@ libtool ltmain.sh Makefile Makefile.in +!po/Makefile.in m4 missing stamp-h1 diff --git a/autogen.sh b/autogen.sh index a97c6d9..ced54a5 100755 --- a/autogen.sh +++ b/autogen.sh @@ -24,12 +24,8 @@ if test "$1" = "po" ; then fi if test "$1" = "linguas" ; then - test -d "po/" || exit - pot_in=$(grep '_(' $(find . -type f -name '*.h' -or -name '*.c') | sed -e 's%^\./%%' -e 's%:.*%%' | sort -u) - echo "${pot_in}" > po/POTFILES.in - linguas=$(find po -name '*.po' | sed -e 's%.*/%%' -e 's%\.po%%' | sort) - echo ${linguas} > po/LINGUAS - exit + ./po/Makefile.in.gen + exit $? fi #=========================================================================== @@ -83,7 +79,9 @@ if test -n "$m4dir" ; then fi # Get all required m4 macros required for configure -$LIBTOOLIZE ${verbose} --copy --force || exit 1 +if grep -q LT_INIT configure.ac ; then + $LIBTOOLIZE ${verbose} --copy --force || exit 1 +fi $ACLOCAL ${verbose} || exit 1 # Generate config.h.in diff --git a/configure.ac b/configure.ac index 0039c72..8cdd5af 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ AC_CONFIG_HEADER(config.h) AM_GNU_GETTEXT([external]) m4_ifdef([AM_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) -LT_INIT +#L#T_INIT # Checks for programs. AC_PROG_CC @@ -74,7 +74,7 @@ AC_CONFIG_FILES([ src/Makefile doc/Makefile doc/gtkballs.6x - po/Makefile.in + po/Makefile gtkballs.spec gtkballs-data/Makefile ]) diff --git a/po/LINGUAS b/po/LINGUAS deleted file mode 100644 index 4a8a049..0000000 --- a/po/LINGUAS +++ /dev/null @@ -1 +0,0 @@ -de fr pl ru diff --git a/po/Makefile.in b/po/Makefile.in new file mode 100644 index 0000000..4ae3e0b --- /dev/null +++ b/po/Makefile.in @@ -0,0 +1,88 @@ + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +@SET_MAKE@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +#MSGFMT_OPTS = -c +XGETTEXT = @XGETTEXT@ +MSGMERGE = msgmerge + +MOFILES = de.mo fr.mo nl.mo pl.mo ru.mo +LINGUAS = de fr nl pl ru +POTFILES = ../src/about.c ../src/gtkballs.c ../src/gtkballs.h ../src/halloffame.c ../src/inputname.c ../src/mainmenu.c ../src/mainwin.c ../src/preferences.c ../src/prefs.c ../src/rules.c ../src/rulesdialog.c ../src/savedialog.c ../src/scoreboard.c + +#.SUFFIXES: .po .gmo .mo +#.po.mo: +# $(GMSGFMT) $(MSGFMT_OPTS) -o `echo $* | sed "s,.*/,,"`.mo $< + +all: all-@USE_NLS@ +all-yes: $(MOFILES) +all-no: + +$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) \ + --add-comments --keyword=_ --keyword=N_ --from-code=UTF-8 \ + -o $(GETTEXT_PACKAGE).pot $(POTFILES) + +install: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + catalogs="$(LINGUAS)"; \ + for cat in $$catalogs; do \ + dir=$(DESTDIR)$(localedir)/$$cat/LC_MESSAGES; \ + mkdir -p $$dir; \ + $(INSTALL_DATA) $$cat.mo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $$cat.mo as $$dir/$(GETTEXT_PACKAGE).mo"; \ + done + +uninstall: + catalogs="$(LINGUAS)"; \ + for cat in $$catalogs; do \ + echo "rm -f $(DESTDIR)$(localedir)/$$cat/LC_MESSAGES/$(GETTEXT_PACKAGE).mo"; \ + rm -f $(DESTDIR)$(localedir)/$$cat/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + done + +mostlyclean: + rm -f *.pox *.old.po *.new.po *.mo *.gmo *.msg *.cat *.cat.m + +clean: mostlyclean + +distclean: clean + rm -f Makefile POTFILES + +update-po: Makefile + rm -f $(GETTEXT_PACKAGE).pot + $(MAKE) $(GETTEXT_PACKAGE).pot + catalogs="$(LINGUAS)"; \ + for lang in $$catalogs; do \ + printf " %s " "$$lang"; \ + if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$lang.new.po; then \ + mv -f $$lang.new.po $$lang.po || exit 1; \ + else \ + echo "msgmerge for $$lang failed!"; \ + rm -f $$lang.new.po; \ + fi; \ + done + +de.mo: + $(GMSGFMT) $(MSGFMT_OPTS) -o de.mo de.po +fr.mo: + $(GMSGFMT) $(MSGFMT_OPTS) -o fr.mo fr.po +nl.mo: + $(GMSGFMT) $(MSGFMT_OPTS) -o nl.mo nl.po +pl.mo: + $(GMSGFMT) $(MSGFMT_OPTS) -o pl.mo pl.po +ru.mo: + $(GMSGFMT) $(MSGFMT_OPTS) -o ru.mo ru.po diff --git a/po/Makefile.in.gen b/po/Makefile.in.gen new file mode 100755 index 0000000..0226044 --- /dev/null +++ b/po/Makefile.in.gen @@ -0,0 +1,97 @@ +#!/bin/sh +# https://unlicense.org + +cd $(dirname "$0") + +POFILES="$(ls *.po)" +MOFILES="$(echo "$POFILES" | sed 's/\.po$/.mo/')" +LINGUAS="$(echo "$POFILES" | sed 's/\.po$//')" +filez=$(find .. -type f -name '*.h' -or -name '*.c' -or -name '*.cc' -or -name '*.cpp' -or -name '*.hh') +POTFILES="$(grep '_(' $filez | sed -e 's%^\./%%' -e 's%:.*%%' | sort -u)" + +echo ' +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ +@SET_MAKE@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +localedir = @localedir@ + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +#MSGFMT_OPTS = -c +XGETTEXT = @XGETTEXT@ +MSGMERGE = msgmerge + +MOFILES = '${MOFILES}' +LINGUAS = '${LINGUAS}' +POTFILES = '${POTFILES}' + +#.SUFFIXES: .po .gmo .mo +#.po.mo: +# $(GMSGFMT) $(MSGFMT_OPTS) -o `echo $* | sed "s,.*/,,"`.mo $< + +all: all-@USE_NLS@ +all-yes: $(MOFILES) +all-no: + +$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) \ + --add-comments --keyword=_ --keyword=N_ --from-code=UTF-8 \ + -o $(GETTEXT_PACKAGE).pot $(POTFILES) + +install: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + catalogs="$(LINGUAS)"; \ + for cat in $$catalogs; do \ + dir=$(DESTDIR)$(localedir)/$$cat/LC_MESSAGES; \ + mkdir -p $$dir; \ + $(INSTALL_DATA) $$cat.mo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $$cat.mo as $$dir/$(GETTEXT_PACKAGE).mo"; \ + done + +uninstall: + catalogs="$(LINGUAS)"; \ + for cat in $$catalogs; do \ + echo "rm -f $(DESTDIR)$(localedir)/$$cat/LC_MESSAGES/$(GETTEXT_PACKAGE).mo"; \ + rm -f $(DESTDIR)$(localedir)/$$cat/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + done + +mostlyclean: + rm -f *.pox *.old.po *.new.po *.mo *.gmo *.msg *.cat *.cat.m + +clean: mostlyclean + +distclean: clean + rm -f Makefile POTFILES + +update-po: Makefile + rm -f $(GETTEXT_PACKAGE).pot + $(MAKE) $(GETTEXT_PACKAGE).pot + catalogs="$(LINGUAS)"; \ + for lang in $$catalogs; do \ + printf " %s " "$$lang"; \ + if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$lang.new.po; then \ + mv -f $$lang.new.po $$lang.po || exit 1; \ + else \ + echo "msgmerge for $$lang failed!"; \ + rm -f $$lang.new.po; \ + fi; \ + done +' > Makefile.in + +( +for i in ${LINGUAS} +do + echo "${i}.mo:" + echo " \$(GMSGFMT) \$(MSGFMT_OPTS) -o ${i}.mo ${i}.po" +done +) >> Makefile.in diff --git a/po/Makefile.in.in b/po/Makefile.in.in deleted file mode 100644 index 1f4ab37..0000000 --- a/po/Makefile.in.in +++ /dev/null @@ -1,198 +0,0 @@ -# Makefile for program source directory in GNU NLS utilities package. -# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper -# -# 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 to use GETTEXT_PACKAGE -# instead of PACKAGE and to look for po2tbl in ./ not in intl/ -# -# - Modified by jacob berkman to install -# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize - -GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ - -SHELL = @SHELL@ -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ -subdir = po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -CC = @CC@ -GENCAT = gencat -GMSGFMT = @GMSGFMT@ -MSGFMT = @MSGFMT@ -#MSGFMT_OPTS = -c -XGETTEXT = @XGETTEXT@ -MSGMERGE = msgmerge - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -DISTFILES = LINGUAS Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot $(POFILES) $(GMOFILES) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -.SUFFIXES: -.SUFFIXES: .po .pox .gmo .mo .msg .cat - -.po.pox: - $(MAKE) $(GETTEXT_PACKAGE).pot - $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox - -.po.mo: - $(MSGFMT) -o $@ $< - -.po.gmo: - $(AM_V_GEN) file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ - && rm -f $$file && $(GMSGFMT) $(MSGFMT_OPTS) -o $$file $< - -.po.cat: - sed -f ../intl/po2msg.sed < $< > $*.msg \ - && rm -f $@ && $(GENCAT) $@ $*.msg - - -all: all-@USE_NLS@ - -all-yes: $(CATALOGS) -all-no: - -$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) - $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) \ - --add-comments --keyword=_ --keyword=N_ \ - --keyword=C_:1c,2 \ - --keyword=NC_:1c,2 \ - --keyword=g_dcgettext:2 \ - --keyword=g_dngettext:2,3 \ - --keyword=g_dpgettext2:2c,3 \ - --flag=N_:1:pass-c-format \ - --flag=C_:2:pass-c-format \ - --flag=NC_:2:pass-c-format \ - --flag=g_dngettext:2:pass-c-format \ - --flag=g_strdup_printf:1:c-format \ - --flag=g_string_printf:2:c-format \ - --flag=g_string_append_printf:2:c-format \ - --flag=g_error_new:3:c-format \ - --flag=g_set_error:4:c-format \ - --flag=g_markup_printf_escaped:1:c-format \ - --flag=g_log:3:c-format \ - --flag=g_print:1:c-format \ - --flag=g_printerr:1:c-format \ - --flag=g_printf:1:c-format \ - --flag=g_fprintf:2:c-format \ - --flag=g_sprintf:2:c-format \ - --flag=g_snprintf:3:c-format \ - --flag=g_scanner_error:2:c-format \ - --flag=g_scanner_warn:2:c-format \ - $(POTFILES) \ - && test ! -f $(GETTEXT_PACKAGE).po \ - || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ - && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ -install-data-no: all -install-data-yes: all - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - destdir=$(localedir); \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ - mkdir -p $$dir; \ - if test -r $$cat; then \ - $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE).mo; \ - echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE).mo"; \ - else \ - $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE).mo; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(GETTEXT_PACKAGE).mo"; \ - fi; \ - if test -r $$cat.m; then \ - $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ - echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ - else \ - if test -r $(srcdir)/$$cat.m ; then \ - $(INSTALL_DATA) $(srcdir)/$$cat.m \ - $$dir/$(GETTEXT_PACKAGE).mo.m; \ - echo "installing $(srcdir)/$$cat as" \ - "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ - else \ - true; \ - fi; \ - fi; \ - done - -uninstall: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ - rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ - done - -check: all - -dvi info ctags tags CTAGS TAGS ID: - -mostlyclean: - rm -f core core.* *.pox *.old.po cat-id-tbl.tmp - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m $(GMOFILES) - -update-po: Makefile - rm -f $(GETTEXT_PACKAGE).pot - $(MAKE) $(GETTEXT_PACKAGE).pot - tmpdir=`pwd`; \ - cd $(srcdir); \ - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed 's/\.gmo$$//'`; \ - printf " %s " "$$lang"; \ - if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ - if cmp $$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 $$cat failed!"; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi; \ - done - -# POTFILES.in: ./autogen.sh linguas -POTFILES: - cp POTFILES.in POTFILES - -Makefile: Makefile.in.in ../config.status POTFILES - cd .. \ - && $(SHELL) ./config.status $(subdir)/$@.in diff --git a/po/POTFILES.in b/po/POTFILES.in deleted file mode 100644 index 0ca8745..0000000 --- a/po/POTFILES.in +++ /dev/null @@ -1,13 +0,0 @@ -src/about.c -src/gtkballs.c -src/gtkballs.h -src/halloffame.c -src/inputname.c -src/mainmenu.c -src/mainwin.c -src/preferences.c -src/prefs.c -src/rules.c -src/rulesdialog.c -src/savedialog.c -src/scoreboard.c diff --git a/po/readme.txt b/po/readme.txt new file mode 100644 index 0000000..2e7510d --- /dev/null +++ b/po/readme.txt @@ -0,0 +1,6 @@ + +There's no LINGUAS file.. + +Just run ./Makefile.in.gen whenever a .po file is added or removed.. +and when you want to update the $(POTFILES) (source files that contain translatable strings) +