mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
This refactoring change just moves the cleanup functions around in the common/utils directory. libxml2 cleanups are moved to a separate object file, so that we can still link to libutils even if the main program is not using libxml2 anywhere. Similarly gnulib cleanups. cleanup.c is renamed to cleanups.c. A new header file cleanups.h is introduced which will replace guestfs-internal-frontend-cleanups.h (fully replaced in a later commit).
162 lines
3.5 KiB
Makefile
162 lines
3.5 KiB
Makefile
# libguestfs Python bindings
|
|
# Copyright (C) 2009-2017 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
|
|
|
|
generator_built = \
|
|
actions-0.c \
|
|
actions-1.c \
|
|
actions-2.c \
|
|
actions-3.c \
|
|
actions-4.c \
|
|
actions-5.c \
|
|
actions-6.c \
|
|
actions.h \
|
|
module.c \
|
|
structs.c \
|
|
guestfs.py \
|
|
bindtests.py
|
|
|
|
EXTRA_DIST = \
|
|
$(generator_built) \
|
|
MANIFEST.in \
|
|
README.txt \
|
|
setup.py.in \
|
|
run-bindtests \
|
|
run-python-tests \
|
|
t/README \
|
|
t/*.py
|
|
|
|
if HAVE_PYTHON
|
|
|
|
# Build the library.
|
|
|
|
pythondir = $(PYTHON_INSTALLDIR)
|
|
|
|
python_DATA = guestfs.py
|
|
|
|
python_LTLIBRARIES = libguestfsmod.la
|
|
|
|
libguestfsmod_la_SOURCES = \
|
|
actions-0.c \
|
|
actions-1.c \
|
|
actions-2.c \
|
|
actions-3.c \
|
|
actions-4.c \
|
|
actions-5.c \
|
|
actions-6.c \
|
|
actions.h \
|
|
handle.c \
|
|
module.c \
|
|
structs.c
|
|
|
|
libguestfsmod_la_CPPFLAGS = \
|
|
-DGUESTFS_PRIVATE=1 \
|
|
$(PYTHON_CFLAGS) \
|
|
-I$(top_srcdir)/common/utils -I$(top_builddir)/common/utils \
|
|
-I$(top_srcdir)/lib -I$(top_builddir)/lib
|
|
|
|
libguestfsmod_la_CFLAGS = \
|
|
$(WARN_CFLAGS) $(WERROR_CFLAGS)
|
|
|
|
libguestfsmod_la_LIBADD = \
|
|
$(top_builddir)/common/utils/libutils_la-utils.lo \
|
|
$(top_builddir)/lib/libguestfs.la
|
|
|
|
libguestfsmod_la_LDFLAGS = -avoid-version -shared -module -shrext $(PYTHON_EXT_SUFFIX)
|
|
|
|
# Currently we don't use setup.py to build the Python library for
|
|
# distribution with libguestfs (although maybe we should in future).
|
|
# For now, these are some rules which use setup.py to make a source
|
|
# distribution for pip, and a few other bits.
|
|
|
|
sdist: setup.py stamp-extra-files
|
|
$(PYTHON) setup.py $@
|
|
|
|
setup-build: setup.py stamp-extra-files
|
|
$(PYTHON) setup.py build
|
|
|
|
setup-install: setup.py stamp-extra-files
|
|
$(PYTHON) setup.py install $(SETUP_INSTALL_ARGS)
|
|
|
|
# Python's crappy MANIFEST file cannot graft single files, so we have
|
|
# to hard-link any extra files we need into the local directory.
|
|
stamp-extra-files: \
|
|
c-ctype.h \
|
|
cleanups.c \
|
|
cleanups.h \
|
|
config.h \
|
|
guestfs-internal-all.h \
|
|
guestfs-internal-frontend.h \
|
|
ignore-value.h \
|
|
utils.c
|
|
touch $@
|
|
|
|
config.h:
|
|
ln ../config.h $@
|
|
|
|
c-ctype.h:
|
|
ln $(top_srcdir)/gnulib/lib/c-ctype.h $@
|
|
|
|
cleanups.c:
|
|
ln $(top_srcdir)/common/utils/cleanups.c $@
|
|
|
|
cleanups.h:
|
|
ln $(top_srcdir)/common/utils/cleanups.h $@
|
|
|
|
ignore-value.h:
|
|
ln $(top_srcdir)/gnulib/lib/ignore-value.h $@
|
|
|
|
guestfs-internal-all.h:
|
|
ln $(top_srcdir)/lib/guestfs-internal-all.h $@
|
|
|
|
guestfs-internal-frontend.h:
|
|
ln $(top_srcdir)/common/utils/guestfs-internal-frontend.h $@
|
|
|
|
utils.c:
|
|
ln $(top_srcdir)/common/utils/utils.c $@
|
|
|
|
# Tests.
|
|
|
|
TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
|
|
|
TESTS = run-bindtests
|
|
|
|
if ENABLE_APPLIANCE
|
|
TESTS += run-python-tests
|
|
endif ENABLE_APPLIANCE
|
|
|
|
endif HAVE_PYTHON
|
|
|
|
# Extra clean.
|
|
CLEANFILES += \
|
|
*.pyc \
|
|
examples/*~ examples/*.pyc \
|
|
t/*~ t/*.pyc \
|
|
c-ctype.h \
|
|
config.h \
|
|
cleanups.c \
|
|
cleanups.h \
|
|
guestfs-internal-all.h \
|
|
guestfs-internal-frontend.h \
|
|
ignore-value.h \
|
|
stamp-extra-files \
|
|
utils.c
|
|
|
|
clean-local:
|
|
rm -rf build dist
|