mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
With the Weblate adoption, we let it update the po files from the catalog template. The po4a behaviour of extracting the template, merging the existing translations, and creating the translated PODs at once is problematic. Hence, split the extraction and the translated POD generation in two. Use po4a-gettextize to extract the catalog template only, not doing it anymore automatically at each build. There is no more need for a po4a.conf file. Use po4a-translate to create translated PODs from the po files, keeping the fixup of the generated files (to avoid spurious =encoding, etc). Add a silent rule to hide the po4a-translate command lines by default. These changes also allow us to get rid of the POD existance checks with associated error message pointing to the update-po rule. Now each translated POD file is generated because of make dependency, and it depends only on its po file. Signed-off-by: Pino Toscano <ptoscano@redhat.com>
114 lines
4.4 KiB
Makefile
114 lines
4.4 KiB
Makefile
# libguestfs
|
|
# Copyright (C) 2009-2020 Red Hat Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
# subdir-rules.mk should be included in every *subdirectory* Makefile.am.
|
|
|
|
include $(top_srcdir)/common-rules.mk
|
|
|
|
# Individual Makefile.am's should define generator_built if that
|
|
# subdirectory contains any files which are built by the generator.
|
|
# Set generator_built to the list of those files.
|
|
|
|
$(generator_built): $(top_builddir)/generator/stamp-generator
|
|
|
|
$(top_builddir)/generator/stamp-generator: $(top_builddir)/generator/generator
|
|
@if test -f $(top_builddir)/generator/Makefile; then \
|
|
$(MAKE) -C $(top_builddir)/generator stamp-generator; \
|
|
else \
|
|
echo "warning: Run 'make' at the top level to build $(generator_built)"; \
|
|
fi
|
|
|
|
# If this file doesn't exist, just print a warning and continue.
|
|
# During 'make distclean' we can end up deleting this file.
|
|
$(top_builddir)/generator/generator:
|
|
@if test -f $(top_builddir)/generator/Makefile; then \
|
|
$(MAKE) -C $(top_builddir)/generator generator; \
|
|
else \
|
|
echo "warning: Run 'make' at the top level to build $@"; \
|
|
fi
|
|
|
|
LOG_DRIVER = env $(SHELL) $(top_srcdir)/build-aux/guestfs-test-driver
|
|
|
|
# Rules for building OCaml objects.
|
|
# See also:
|
|
# guestfs-hacking(1) section "HOW OCAML PROGRAMS ARE COMPILED AND LINKED"
|
|
|
|
if !HAVE_OCAMLOPT
|
|
MLARCHIVE = cma
|
|
LINK_CUSTOM_OCAMLC_ONLY = -custom
|
|
BEST = c
|
|
else
|
|
MLARCHIVE = cmxa
|
|
BEST = opt
|
|
endif
|
|
|
|
# custom silent rules
|
|
guestfs_am_v_ocamlc = $(guestfs_am_v_ocamlc_@AM_V@)
|
|
guestfs_am_v_ocamlc_ = $(guestfs_am_v_ocamlc_@AM_DEFAULT_V@)
|
|
guestfs_am_v_ocamlc_0 = @echo " OCAMLC " $@;
|
|
guestfs_am_v_ocamlcmi= $(guestfs_am_v_ocamlcmi_@AM_V@)
|
|
guestfs_am_v_ocamlcmi_ = $(guestfs_am_v_ocamlcmi_@AM_DEFAULT_V@)
|
|
guestfs_am_v_ocamlcmi_0 = @echo " OCAMLCMI" $@;
|
|
guestfs_am_v_ocamlopt = $(guestfs_am_v_ocamlopt_@AM_V@)
|
|
guestfs_am_v_ocamlopt_ = $(guestfs_am_v_ocamlopt_@AM_DEFAULT_V@)
|
|
guestfs_am_v_ocamlopt_0 = @echo " OCAMLOPT" $@;
|
|
guestfs_am_v_javac = $(guestfs_am_v_javac_@AM_V@)
|
|
guestfs_am_v_javac_ = $(guestfs_am_v_javac_@AM_DEFAULT_V@)
|
|
guestfs_am_v_javac_0 = @echo " JAVAC " $@;
|
|
guestfs_am_v_erlc = $(guestfs_am_v_erlc_@AM_V@)
|
|
guestfs_am_v_erlc_ = $(guestfs_am_v_erlc_@AM_DEFAULT_V@)
|
|
guestfs_am_v_erlc_0 = @echo " ERLC " $@;
|
|
guestfs_am_v_podwrapper = $(guestfs_am_v_podwrapper_@AM_V@)
|
|
guestfs_am_v_podwrapper_ = $(guestfs_am_v_podwrapper_@AM_DEFAULT_V@)
|
|
guestfs_am_v_podwrapper_0 = @echo " POD " $@;
|
|
guestfs_am_v_jar = $(guestfs_am_v_jar_@AM_V@)
|
|
guestfs_am_v_jar_ = $(guestfs_am_v_jar_@AM_DEFAULT_V@)
|
|
guestfs_am_v_jar_0 = @echo " JAR " $@;
|
|
guestfs_am_v_po4a_translate = $(guestfs_am_v_po4a_translate_@AM_V@)
|
|
guestfs_am_v_po4a_translate_ = $(guestfs_am_v_po4a_translate_@AM_DEFAULT_V@)
|
|
guestfs_am_v_po4a_translate_0 = @echo " PO4A-T " $@;
|
|
|
|
%.cmi: %.mli
|
|
$(guestfs_am_v_ocamlcmi)$(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
|
|
%.cmo: %.ml
|
|
$(guestfs_am_v_ocamlc)$(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
|
|
if HAVE_OCAMLOPT
|
|
%.cmx: %.ml
|
|
$(guestfs_am_v_ocamlopt)$(OCAMLFIND) ocamlopt $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
|
|
endif
|
|
|
|
# Test shell scripts should use '$TEST_FUNCTIONS' to get a predefined
|
|
# set of helper functions for running tests (see
|
|
# tests/test-functions.sh).
|
|
#
|
|
# Notes:
|
|
#
|
|
# (1) This is in fact a single command all on one line. The variables
|
|
# are evaluated in test-functions.sh.
|
|
#
|
|
# (2) We use absolute paths here and in test-functions.sh so that the
|
|
# test can change directory freely. But we also include the
|
|
# non-absolute values so they can be used by the test script itself.
|
|
export TEST_FUNCTIONS := \
|
|
source $(abs_top_srcdir)/tests/test-functions.sh \
|
|
abs_srcdir="$(abs_srcdir)" \
|
|
abs_builddir="$(abs_builddir)" \
|
|
top_srcdir="$(top_srcdir)" \
|
|
top_builddir="$(top_builddir)" \
|
|
abs_top_srcdir="$(abs_top_srcdir)" \
|
|
abs_top_builddir="$(abs_top_builddir)"
|