From e91c652af21557698751c3944ceb7c46e5e58164 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 26 Mar 2017 13:06:21 -0600 Subject: pylibfdt: Enable installation of Python module Adjust the setup script to support installation, and call it from the Makefile if enabled. It will be disabled if we were unable to build the module (e.g. due to swig being missing), or the NO_PYTHON environment variable is set. Signed-off-by: Simon Glass Signed-off-by: David Gibson --- Makefile | 2 +- README | 7 +++++++ pylibfdt/Makefile.pylibfdt | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5cf4aee..52ff72c 100644 --- a/Makefile +++ b/Makefile @@ -195,7 +195,7 @@ install-includes: $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR) $(INSTALL) -m 644 $(LIBFDT_include) $(DESTDIR)$(INCLUDEDIR) -install: install-bin install-lib install-includes +install: install-bin install-lib install-includes maybe_install_pylibfdt $(VERSION_FILE): Makefile FORCE $(call filechk,version) diff --git a/README b/README index d2323fd..5add557 100644 --- a/README +++ b/README @@ -50,6 +50,13 @@ If you add new features, please check code coverage: # Open 'htmlcov/index.html' in your browser +To install the library use: + + make install_pylibfdt SETUP_PREFIX=/path/to/install_dir + +If SETUP_PREFIX is not provided, the default prefix is used, typically '/usr' +or '/usr/local'. See Python's distutils documentation for details. + To disable building the python library, even if swig and Python are available, use: diff --git a/pylibfdt/Makefile.pylibfdt b/pylibfdt/Makefile.pylibfdt index 861e67c..a0271da 100644 --- a/pylibfdt/Makefile.pylibfdt +++ b/pylibfdt/Makefile.pylibfdt @@ -14,4 +14,18 @@ $(WRAP): $(PYLIBFDT_srcdir)/libfdt.swig @$(VECHO) SWIG $@ $(SWIG) -python -o $@ $< +install_pylibfdt: $(WRAP) $(PYMODULE) + $(VECHO) INSTALL-PYLIB; \ + SOURCES="$(PYLIBFDT_srcs) $(WRAP)" CPPFLAGS="$(CPPFLAGS)" \ + OBJDIR="$(PYLIBFDT_objdir)" \ + python $(PYLIBFDT_objdir)/setup.py --quiet install \ + $(if $(SETUP_PREFIX),--prefix=$(SETUP_PREFIX)) + +maybe_install_pylibfdt: + if [ -e $(PYMODULE) ]; then \ + if [ -z "$(NO_PYTHON)" ]; then \ + $(MAKE) install_pylibfdt; \ + fi; \ + fi + PYLIBFDT_cleanfiles = libfdt_wrap.c libfdt.py libfdt.pyc _libfdt.so -- cgit v1.1