psss / rpms / libsemanage

Forked from rpms/libsemanage 5 years ago
Clone
fc28aa8
diff --git a/libsemanage/src/Makefile b/libsemanage/src/Makefile
fc28aa8
index 7acf63d..cdd8388 100644
fc28aa8
--- a/libsemanage/src/Makefile
fc28aa8
+++ b/libsemanage/src/Makefile
fc28aa8
@@ -1,9 +1,15 @@
fc28aa8
+# Support building the Python bindings multiple times, against various Python
fc28aa8
+# runtimes (e.g. Python 2 vs Python 3) by optionally prefixing the build
fc28aa8
+# targets with "PYPREFIX":
fc28aa8
+PYTHON ?= python
fc28aa8
+PYPREFIX ?= 
fc28aa8
+
fc28aa8
 # Installation directories.
fc28aa8
 PREFIX ?= $(DESTDIR)/usr
fc28aa8
 LIBDIR ?= $(PREFIX)/lib
fc28aa8
 SHLIBDIR ?= $(PREFIX)/lib
fc28aa8
 INCLUDEDIR ?= $(PREFIX)/include
fc28aa8
-PYLIBVER ?= $(shell python -c 'import sys;print "python%d.%d" % sys.version_info[0:2]')
fc28aa8
+PYLIBVER ?= $(shell $(PYTHON) -c 'import sys;print("python%d.%d" % sys.version_info[0:2])')
fc28aa8
 PYINC ?= /usr/include/${PYLIBVER}
fc28aa8
 PYLIBDIR ?= $(LIBDIR)/${PYLIBVER}
fc28aa8
 RUBYLIBVER ?= $(shell ruby -e 'print RUBY_VERSION.split(".")[0..1].join(".")')
fc28aa8
@@ -34,9 +40,9 @@ SWIGIF= semanageswig_python.i
fc28aa8
 SWIGRUBYIF= semanageswig_ruby.i
fc28aa8
 SWIGCOUT= semanageswig_wrap.c
fc28aa8
 SWIGRUBYCOUT= semanageswig_ruby_wrap.c
fc28aa8
-SWIGLOBJ:= $(patsubst %.c,%.lo,$(SWIGCOUT)) 
fc28aa8
+SWIGLOBJ:= $(patsubst %.c,$(PYPREFIX)%.lo,$(SWIGCOUT)) 
fc28aa8
 SWIGRUBYLOBJ:= $(patsubst %.c,%.lo,$(SWIGRUBYCOUT)) 
fc28aa8
-SWIGSO=_semanage.so
fc28aa8
+SWIGSO=$(PYPREFIX)_semanage.so
fc28aa8
 SWIGFILES=$(SWIGSO) semanage.py 
fc28aa8
 SWIGRUBYSO=_rubysemanage.so
fc28aa8
 LIBSO=$(TARGET).$(LIBVERSION)
fc28aa8
@@ -132,7 +138,9 @@ install: all
fc28aa8
 
fc28aa8
 install-pywrap: pywrap 
fc28aa8
 	test -d $(PYLIBDIR)/site-packages || install -m 755 -d $(PYLIBDIR)/site-packages
fc28aa8
-	install -m 755 $(SWIGFILES) $(PYLIBDIR)/site-packages
fc28aa8
+	install -m 755 $(SWIGSO) $(PYLIBDIR)/site-packages/_semanage.so
fc28aa8
+	install -m 755 semanage.py $(PYLIBDIR)/site-packages
fc28aa8
+
fc28aa8
 
fc28aa8
 install-rubywrap: rubywrap
fc28aa8
 	test -d $(RUBYINSTALL) || install -m 755 -d $(RUBYINSTALL)