python: introduce Build/Compile/HostPyRun{Host,Target}
authorYousong Zhou <yszhou4tech@gmail.com>
Mon, 17 Oct 2016 10:05:50 +0000 (18:05 +0800)
committerYousong Zhou <yszhou4tech@gmail.com>
Mon, 17 Oct 2016 11:55:39 +0000 (19:55 +0800)
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
lang/python/files/python-host.mk
lang/python/files/python-package.mk

index 8736d29ad27123b795ac65379e735122a574d189..6f7977310979fd8e85198a593d9cfec36ce2fbe0 100644 (file)
@@ -31,12 +31,12 @@ define HostPython
        $(HOST_PYTHON_BIN) $(2);
 endef
 
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
+# $(1) => commands to execute before running pythons script
+# $(2) => python script and its arguments
 # $(3) => additional variables
-define Build/Compile/HostPyMod
+define Build/Compile/HostPyRunHost
        $(call HostPython, \
-               cd $(HOST_BUILD_DIR)/$(strip $(1)); \
+               $(if $(1),$(1);) \
                CC="$(HOSTCC)" \
                CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
                CXX="$(HOSTCXX)" \
@@ -48,9 +48,20 @@ define Build/Compile/HostPyMod
                _PYTHON_HOST_PLATFORM=linux2 \
                $(3) \
                , \
-               ./setup.py $(2) \
+               $(2) \
                , \
                HOST \
        )
 endef
 
+
+# $(1) => build subdir
+# $(2) => additional arguments to setup.py
+# $(3) => additional variables
+define Build/Compile/HostPyMod
+       $(call Build/Compile/HostPyRunHost, \
+               cd $(HOST_BUILD_DIR)/$(strip $(1)), \
+               ./setup.py $(2), \
+               $(3))
+endef
+
index 1f824cba6b49211c47bbe41378d928006ea7e421..52b6cf37e0c97ecfb0fc6b8360c3e7b73ecf9379 100644 (file)
@@ -82,13 +82,12 @@ endef
 
 $(call include_mk, python-host.mk)
 
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
+# $(1) => commands to execute before running pythons script
+# $(2) => python script and its arguments
 # $(3) => additional variables
-define Build/Compile/PyMod
-       $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)
+define Build/Compile/HostPyRunTarget
        $(call HostPython, \
-               cd $(PKG_BUILD_DIR)/$(strip $(1)); \
+               $(if $(1),$(1);) \
                CC="$(TARGET_CC)" \
                CCSHARED="$(TARGET_CC) $(FPIC)" \
                CXX="$(TARGET_CXX)" \
@@ -101,8 +100,19 @@ define Build/Compile/PyMod
                __PYVENV_LAUNCHER__="/usr/bin/$(PYTHON)" \
                $(3) \
                , \
-               ./setup.py $(2) \
+               $(2) \
        )
+endef
+
+# $(1) => build subdir
+# $(2) => additional arguments to setup.py
+# $(3) => additional variables
+define Build/Compile/PyMod
+       $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)
+       $(call Build/Compile/HostPyRunTarget, \
+               cd $(PKG_BUILD_DIR)/$(strip $(1)), \
+               ./setup.py $(2), \
+               $(3))
        find $(PKG_INSTALL_DIR) -name "*\.pyc" -o -name "*\.pyo" -o -name "*\.exe" | xargs rm -f
 endef