virt-v2v/subdir-rules.mk
Jerry James 5eeae696b2 Fix bytecode compilation to output whole exe instead of using -custom
These binaries are more resistant to being stripped.

Reported-by: Ilya Leoshkevich
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2274708
(cherry picked from guestfs-tools commit c249fd5caca8f1eed439f83e2bb1af46c8a28a27)
2024-04-12 20:14:34 +01:00

97 lines
3.9 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
# 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 = -output-complete-exe
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 -package guestfs $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
%.cmo: %.ml
$(guestfs_am_v_ocamlc)$(OCAMLFIND) ocamlc -package guestfs $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
if HAVE_OCAMLOPT
%.cmx: %.ml
$(guestfs_am_v_ocamlopt)$(OCAMLFIND) ocamlopt -package guestfs $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@
endif
# A few parts of the common/ submodule use $TEST_FUNCTIONS expecting
# it to be replaced with the old hacky test-functions.sh script and
# some local variables (as happens in libguestfs). Until we can
# replace that. use this for now.
export TEST_FUNCTIONS := exit 77