diff --git a/catkin/Makefile b/catkin/Makefile
index f5b241934af7ca6ba4fa585e9768ad47a173c77b..afb7131d6312e5bab273e47f3a0713742c15047c 100644
--- a/catkin/Makefile
+++ b/catkin/Makefile
@@ -28,8 +28,6 @@ SUBST_CLASSES+=			bash-interp
 SUBST_FILES.bash-interp+=	bin/git-catkin
 SUBST_FILES.bash-interp+=	bin/git-catkin-track-all
 
-DEPEND_ABI.python=	python<3
-
 include ../../wip/py-rospkg/depend.mk
 include ../../mk/sysdep/bash.mk
 include ../../mk/sysdep/cmake.mk
@@ -39,5 +37,4 @@ include ../../mk/sysdep/py-argparse.mk
 include ../../mk/sysdep/py-empy.mk
 include ../../mk/sysdep/py-nose.mk
 include ../../mk/sysdep/py-yaml.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/py-rospkg/Makefile b/py-rospkg/Makefile
index 174af81d4c08cf928d1c0d328a45f27924ce817e..c28c2272aa03cd13054fd4e948c8489fef8a8f86 100644
--- a/py-rospkg/Makefile
+++ b/py-rospkg/Makefile
@@ -14,17 +14,16 @@ HOMEPAGE=		http://ros.org/wiki/rospkg
 
 WRKSRC=			${WRKDIR}/ros-rospkg-${COMMIT}
 
-include ../../wip/ros18-base/Makefile.common
-
 USE_LANGUAGES=
 CONFLICTS+=		py[0-9][0-9]-rospkg-${VERSION}
 
+PYDISTUTILSPKG=		yes
+
+include ../../wip/ros18-base/Makefile.common
+
 SUBST_CLASSES+=		py-syspath py-interp
 SUBST_FILES.py-syspath+=scripts/rosversion
 SUBST_FILES.py-interp+=	scripts/rosversion
 
-PYDISTUTILSPKG=		yes
-DEPEND_ABI.python=	python<3
-
 include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-actionlib/Makefile b/ros-actionlib/Makefile
index 458fdee6d36ddbaf703c922aa4203f1b4962ab26..6b332957e90d47b6a1a2fa88dc31e84730e11b52 100644
--- a/ros-actionlib/Makefile
+++ b/ros-actionlib/Makefile
@@ -19,5 +19,4 @@ include ../../wip/ros-genmsg/depend.mk
 include ../../wip/ros-langs/depend.mk
 include ../../wip/ros-core/depend.mk
 include ../../wip/ros-comm/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-comm/Makefile b/ros-comm/Makefile
index 7335efe90430b287ae688b6b5d96ae3df7bac501..edcbc6cac808e8b0589996847fc42e5646ba0c7d 100644
--- a/ros-comm/Makefile
+++ b/ros-comm/Makefile
@@ -28,5 +28,4 @@ include ../../wip/roscpp-core/depend.mk
 include ../../mk/sysdep/apr.mk
 include ../../mk/sysdep/py-paramiko.mk
 include ../../mk/sysdep/py-yaml.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-common-msgs/Makefile b/ros-common-msgs/Makefile
index 977c59d69504f626b36959cac71237e56a0de7e1..62732dc2c496fba17bef1c112f1b581dacb3a08e 100644
--- a/ros-common-msgs/Makefile
+++ b/ros-common-msgs/Makefile
@@ -21,5 +21,4 @@ include ../../wip/catkin/depend.mk
 include ../../wip/ros-genmsg/depend.mk
 include ../../wip/ros-langs/depend.mk
 include ../../wip/ros-std-msgs/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-core/Makefile b/ros-core/Makefile
index 74476a2eaf9428564044b51e4d56484ba5c5f9e5..cc4870f51da40674bd267bb4fdd62e3ade2b8176 100644
--- a/ros-core/Makefile
+++ b/ros-core/Makefile
@@ -22,6 +22,5 @@ include ../../devel/boost-libs/depend.mk
 include ../../wip/catkin/depend.mk
 include ../../wip/rospack/depend.mk
 include ../../wip/py-rospkg/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/sysdep/py-nose.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-gencpp/Makefile b/ros-gencpp/Makefile
index 718e630b9c72acbe8c58dd9b1e8badfde47733c0..6193480ef42e7d8307759f03f78f60bfef158a3e 100644
--- a/ros-gencpp/Makefile
+++ b/ros-gencpp/Makefile
@@ -15,5 +15,4 @@ SUBST_CLASSES+=		py-distsetup
 
 include ../../wip/catkin/depend.mk
 include ../../wip/ros-genmsg/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-genlisp/Makefile b/ros-genlisp/Makefile
index 77f7a9b9b32ff93cf0929e1f99a0223abfe37e84..8986d3158d5bab9da49a6ad424c84c90747e79d4 100644
--- a/ros-genlisp/Makefile
+++ b/ros-genlisp/Makefile
@@ -15,5 +15,4 @@ SUBST_CLASSES+=		py-distsetup
 
 include ../../wip/catkin/depend.mk
 include ../../wip/ros-genmsg/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-genmsg/Makefile b/ros-genmsg/Makefile
index aa4d1ff80d2806efc47c34433d4a9fb2ab3cded0..8426816baaec1dc84b40da82e50158e6f57e32a2 100644
--- a/ros-genmsg/Makefile
+++ b/ros-genmsg/Makefile
@@ -12,5 +12,4 @@ HOMEPAGE=		http://www.ros.org/wiki/genmsg
 include ../../wip/ros18-base/Makefile.common
 
 include ../../wip/catkin/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-genpy/Makefile b/ros-genpy/Makefile
index 0f3411f336e21645ef512e714cff0de22ba01be9..a82aadfe6d2247bb0616f8909a3991c485dfe3d3 100644
--- a/ros-genpy/Makefile
+++ b/ros-genpy/Makefile
@@ -15,5 +15,4 @@ SUBST_CLASSES+=		py-distsetup
 
 include ../../wip/catkin/depend.mk
 include ../../wip/ros-genmsg/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-langs-dev/Makefile b/ros-langs-dev/Makefile
index b6d20846d8605a993168d0a6f5585ef6d101ed86..fc5891e13cd175788967a22a7d25742a31f1bb35 100644
--- a/ros-langs-dev/Makefile
+++ b/ros-langs-dev/Makefile
@@ -15,5 +15,4 @@ include ../../wip/catkin/depend.mk
 include ../../wip/ros-gencpp/depend.mk
 include ../../wip/ros-genpy/depend.mk
 include ../../wip/ros-genlisp/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-langs/Makefile b/ros-langs/Makefile
index 469c863d1badf318ba40e93517e1921c68bae5c5..065cc00a67aa302595dc0f4b4195d53c29c84a47 100644
--- a/ros-langs/Makefile
+++ b/ros-langs/Makefile
@@ -14,5 +14,4 @@ include ../../wip/ros18-base/Makefile.common
 include ../../wip/catkin/depend.mk
 include ../../wip/roscpp-core/depend.mk
 include ../../wip/ros-langs-dev/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-rx/Makefile b/ros-rx/Makefile
index f27059ed757d4bb221b5c6fc6df31611f1e45ffc..c8064aad15300c59e15370c719b8dee347cdd24d 100644
--- a/ros-rx/Makefile
+++ b/ros-rx/Makefile
@@ -20,6 +20,5 @@ include ../../wip/rospack/depend.mk
 include ../../mk/sysdep/graphviz.mk
 include ../../mk/sysdep/py-matplotlib.mk
 include ../../mk/sysdep/py-wxpython.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/sysdep/wxwidgets.mk
 include ../../mk/robotpkg.mk
diff --git a/ros-std-msgs/Makefile b/ros-std-msgs/Makefile
index b9065be71c3d535bd60ceb65dcdbcc452ea804d2..1d0d9e48f5af76843a4c09cd247f5169e75e1def 100644
--- a/ros-std-msgs/Makefile
+++ b/ros-std-msgs/Makefile
@@ -15,5 +15,4 @@ include ../../pkgtools/pkg-config/depend.mk
 include ../../wip/catkin/depend.mk
 include ../../wip/ros-genmsg/depend.mk
 include ../../wip/ros-langs/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/robotpkg.mk
diff --git a/ros18-base/Makefile.common b/ros18-base/Makefile.common
index a5c9f48937e862716d060a922520ce7b3c0fce3d..9b3f9801f89c396db5f1217d610c22772d530c5a 100644
--- a/ros18-base/Makefile.common
+++ b/ros18-base/Makefile.common
@@ -23,6 +23,17 @@ WRKSRC?=	${WRKDIR}/${ROS_PKGURL}-${ROS_VERSION}
 USE_LANGUAGES?=	c c++
 
 
+# --- common dependencies --------------------------------------------------
+#
+CMAKE_ARGS+=	-DPYTHON_EXECUTABLE=${PYTHON}
+CMAKE_ARGS+=	-DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE}
+CMAKE_ARGS+=	-DPYTHON_LIBRARY=${PYTHON_LIB}
+
+DEPEND_ABI.python+=	python<3
+
+include ../../mk/sysdep/python.mk
+
+
 # --- replace interpreters -------------------------------------------------
 #
 # These targets can be enabled by defining SUBST_CLASSES and SUBST_FILES
diff --git a/rospack/Makefile b/rospack/Makefile
index 60e7c0f77545a7646935633633372923aa6a51e7..fbb6cba064abe8322d533047ffd4944cf6d30ed7 100644
--- a/rospack/Makefile
+++ b/rospack/Makefile
@@ -15,7 +15,6 @@ include ../../wip/ros18-base/Makefile.common
 include ../../devel/boost-headers/depend.mk
 include ../../devel/boost-libs/depend.mk
 include ../../wip/catkin/depend.mk
-include ../../mk/sysdep/python.mk
 include ../../mk/sysdep/py-nose.mk
 include ../../mk/sysdep/googletest.mk
 include ../../mk/robotpkg.mk