mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
Automated using this command: perl -pi.bak -e 's/(20[012][0-9])-20[12][01234]/$1-2025/g' `git ls-files`
256 lines
6.2 KiB
Makefile
256 lines
6.2 KiB
Makefile
# libguestfs
|
|
# Copyright (C) 2010-2025 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.
|
|
|
|
include $(top_srcdir)/subdir-rules.mk
|
|
|
|
noinst_PROGRAMS =
|
|
|
|
generator_built = \
|
|
guestfs-internal-actions.h \
|
|
actions-0.c \
|
|
actions-1.c \
|
|
actions-2.c \
|
|
actions-3.c \
|
|
actions-4.c \
|
|
actions-5.c \
|
|
actions-6.c \
|
|
actions-variants.c \
|
|
bindtests.c \
|
|
event-string.c \
|
|
guestfs-actions.pod \
|
|
guestfs-availability.pod \
|
|
guestfs-structs.pod \
|
|
libguestfs.syms \
|
|
structs-compare.c \
|
|
structs-copy.c \
|
|
structs-free.c
|
|
|
|
BUILT_SOURCES = \
|
|
$(generator_built)
|
|
|
|
EXTRA_DIST = \
|
|
$(BUILT_SOURCES) \
|
|
MAX_PROC_NR \
|
|
libguestfs.pc.in \
|
|
local/libguestfs.pc.in \
|
|
guestfs.pod
|
|
|
|
lib_LTLIBRARIES = libguestfs.la
|
|
|
|
libguestfs_la_SOURCES = \
|
|
../common/errnostring/errnostring.h \
|
|
../common/protocol/guestfs_protocol.h \
|
|
../common/qemuopts/qemuopts.h \
|
|
../common/utils/guestfs-utils.h \
|
|
../common/structs/structs-cleanups.h \
|
|
../include/guestfs.h \
|
|
guestfs-internal.h \
|
|
guestfs-internal-all.h \
|
|
actions-0.c \
|
|
actions-1.c \
|
|
actions-2.c \
|
|
actions-3.c \
|
|
actions-4.c \
|
|
actions-5.c \
|
|
actions-6.c \
|
|
actions-support.c \
|
|
actions-variants.c \
|
|
alloc.c \
|
|
appliance.c \
|
|
appliance-cpu.c \
|
|
appliance-kcmdline.c \
|
|
appliance-uefi.c \
|
|
available.c \
|
|
bindtests.c \
|
|
canonical-name.c \
|
|
command.c \
|
|
conn-socket.c \
|
|
copy-in-out.c \
|
|
create.c \
|
|
drives.c \
|
|
errors.c \
|
|
event-string.c \
|
|
events.c \
|
|
file.c \
|
|
fuse.c \
|
|
guid.c \
|
|
handle.c \
|
|
info.c \
|
|
inspect-apps.c \
|
|
inspect-icon.c \
|
|
inspect-osinfo.c \
|
|
journal.c \
|
|
launch.c \
|
|
launch-direct.c \
|
|
launch-libvirt.c \
|
|
libvirt-auth.c \
|
|
libvirt-domain.c \
|
|
lpj.c \
|
|
match.c \
|
|
mountable.c \
|
|
private-data.c \
|
|
proto.c \
|
|
qemu.c \
|
|
readdir.c \
|
|
rescue.c \
|
|
stringsbuf.c \
|
|
structs-compare.c \
|
|
structs-copy.c \
|
|
structs-free.c \
|
|
tmpdirs.c \
|
|
tsk.c \
|
|
uefi.c \
|
|
umask.c \
|
|
version.c \
|
|
wait.c \
|
|
whole-file.c \
|
|
yara.c \
|
|
libguestfs.syms
|
|
|
|
libguestfs_la_CPPFLAGS = \
|
|
-DGUESTFS_PRIVATE=1 \
|
|
-I$(top_srcdir)/common/errnostring -I$(top_builddir)/common/errnostring \
|
|
-I$(top_srcdir)/common/protocol -I$(top_builddir)/common/protocol \
|
|
-I$(top_srcdir)/common/qemuopts -I$(top_builddir)/common/qemuopts \
|
|
-I$(top_srcdir)/common/utils -I$(top_builddir)/common/utils \
|
|
-I$(top_srcdir)/common/structs -I$(top_builddir)/common/structs \
|
|
-I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib \
|
|
-I$(top_srcdir)/include
|
|
|
|
libguestfs_la_CFLAGS = \
|
|
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
|
|
$(RPC_CFLAGS) \
|
|
$(GCC_VISIBILITY_HIDDEN) \
|
|
$(PCRE2_CFLAGS) \
|
|
$(LIBVIRT_CFLAGS) \
|
|
$(LIBXML2_CFLAGS) \
|
|
$(JSON_C_CFLAGS)
|
|
|
|
libguestfs_la_LIBADD = \
|
|
../common/errnostring/liberrnostring.la \
|
|
../common/protocol/libprotocol.la \
|
|
../common/qemuopts/libqemuopts.la \
|
|
../common/structs/libstructs.la \
|
|
../common/utils/libutils.la \
|
|
$(PCRE2_LIBS) \
|
|
$(LIBVIRT_LIBS) $(LIBXML2_LIBS) \
|
|
$(SELINUX_LIBS) \
|
|
$(JSON_C_LIBS) \
|
|
../gnulib/lib/libgnu.la \
|
|
$(LIBSOCKET) \
|
|
$(LIB_CLOCK_GETTIME) \
|
|
$(LTLIBINTL) \
|
|
$(LTLIBTHREAD) \
|
|
$(RPC_LIBS)
|
|
|
|
# Force libtool to name the library 'libguestfs.so.0.$(MAX_PROC_NR).0'.
|
|
# Include the version script to limit which symbols are exported.
|
|
libguestfs_la_LDFLAGS = \
|
|
-version-info $(MAX_PROC_NR):0:$(MAX_PROC_NR) \
|
|
$(VERSION_SCRIPT_FLAGS)$(srcdir)/libguestfs.syms
|
|
|
|
if HAVE_FUSE
|
|
# XXX Unfortunately FUSE_CFLAGS defines _FILE_OFFSET_BITS=64.
|
|
libguestfs_la_CFLAGS += $(FUSE_CFLAGS)
|
|
libguestfs_la_LIBADD += $(FUSE_LIBS)
|
|
endif
|
|
|
|
if HAVE_LIBVIRT
|
|
# Small utility to check for a needed libvirt version;
|
|
# to be used in shell/script-based tests.
|
|
noinst_PROGRAMS += libvirt-is-version
|
|
|
|
libvirt_is_version_SOURCES = libvirt-is-version.c
|
|
|
|
libvirt_is_version_LDADD = \
|
|
$(LIBVIRT_LIBS) \
|
|
$(LTLIBINTL) \
|
|
$(top_builddir)/gnulib/lib/.libs/libgnu.a
|
|
|
|
libvirt_is_version_CPPFLAGS = \
|
|
-DLOCALEBASEDIR=\""$(datadir)/locale"\" \
|
|
-I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib
|
|
|
|
libvirt_is_version_CFLAGS = \
|
|
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
|
|
$(LIBVIRT_CFLAGS)
|
|
endif
|
|
|
|
# Tests: main tests are in tests/c-api. Here we just have some
|
|
# internal tests of utility functions.
|
|
|
|
TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
|
LOG_COMPILER = $(VG)
|
|
|
|
TESTS = unit-tests
|
|
check_PROGRAMS = unit-tests
|
|
|
|
unit_tests_SOURCES = unit-tests.c
|
|
unit_tests_CPPFLAGS = \
|
|
-I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib \
|
|
-I$(top_srcdir)/common/utils -I$(top_builddir)/common/utils \
|
|
-I$(top_srcdir)/common/structs -I$(top_builddir)/common/structs \
|
|
-I$(top_srcdir)/lib -I$(top_srcdir)/include -I.
|
|
unit_tests_CFLAGS = \
|
|
$(WARN_CFLAGS) $(WERROR_CFLAGS) \
|
|
$(RPC_CFLAGS)
|
|
# We have to link this to libguestfs, but because we want to test
|
|
# non-exported functions we have to link with the objects not the
|
|
# library.
|
|
unit_tests_LDADD = \
|
|
../common/structs/libstructs.la \
|
|
../common/utils/libutils.la \
|
|
$(libguestfs_la_OBJECTS) \
|
|
$(libguestfs_la_LIBADD)
|
|
|
|
check-valgrind:
|
|
$(MAKE) VG="@VG@" check
|
|
|
|
# Pkgconfig.
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = libguestfs.pc
|
|
|
|
# Manual page.
|
|
|
|
man_MANS = guestfs.3 libguestfs.3
|
|
noinst_DATA = $(top_builddir)/website/guestfs.3.html
|
|
|
|
guestfs.3 $(top_builddir)/website/guestfs.3.html: stamp-guestfs.pod
|
|
|
|
stamp-guestfs.pod: guestfs.pod \
|
|
guestfs-actions.pod \
|
|
guestfs-availability.pod \
|
|
guestfs-structs.pod
|
|
$(PODWRAPPER) \
|
|
--section 3 \
|
|
--man guestfs.3 \
|
|
--html $(top_builddir)/website/guestfs.3.html \
|
|
--insert $(srcdir)/guestfs-actions.pod:__ACTIONS__ \
|
|
--insert $(srcdir)/guestfs-availability.pod:__AVAILABILITY__ \
|
|
--insert $(srcdir)/guestfs-structs.pod:__STRUCTS__ \
|
|
--license LGPLv2+ \
|
|
$<
|
|
touch $@
|
|
|
|
# The only reason we have to generate this from the Makefile is
|
|
# because the global CLEANFILES rule deletes it.
|
|
libguestfs.3: Makefile.am
|
|
rm -f $@ $@-t
|
|
echo '.so man3/guestfs.3' > $@-t
|
|
mv $@-t $@
|