Files
libguestfs/python/Makefile.am
2018-02-09 16:00:00 +00:00

162 lines
3.5 KiB
Makefile

# libguestfs Python bindings
# Copyright (C) 2009-2018 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-utils.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-utils.h:
ln $(top_srcdir)/common/utils/guestfs-utils.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-utils.h \
ignore-value.h \
stamp-extra-files \
utils.c
clean-local:
rm -rf build dist