Makefile.kmk revision c292481772f0efeeaa5d9af9f00011698757820e
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Sub-Makefile for Python bindings
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Copyright (C) 2009 Sun Microsystems, Inc.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# available from http://www.virtualbox.org. This file is free software;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync# additional information or have any questions.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncSUB_DEPTH = ../../../..
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncinclude $(KBUILD_PATH)/subheader.kmk
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# list of supported Python versions
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync$(eval $(patsubst %|,%$(NL),$(shell $(VBOX_BLD_PYTHON) $(PATH_SUB_CURRENT)/gen_python_deps.py $(KBUILD_TARGET) $(KBUILD_TARGET_ARCH))))
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Python Client Module - the C++/XPCOM bits.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPythonBase_TEMPLATE = XPCOM
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPythonBase_DEFS = _IMPL_NS_COM _IMPL_NS_BASE EXPORT_XPTI_API \
7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97bvboxsync EXPORT_XPT_API VBOX_PYXPCOM VBOX_WITH_XPCOM
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPythonBase_INCS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPythonBase_SOURCES = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPythonBase_LIBS = \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_LIB)/VBoxCOM$(VBOX_SUFF_LIB) \
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync $(PATH_BIN)/VBoxXPCOM$(VBOX_SUFF_DLL)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifeq ($(KBUILD_TARGET),darwin)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync ## @todo kBuild - this ain't working: VBoxPython_DLLSUFF.darwin = .so
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxPythonBase_DLLSUFF = .so
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Python 2.3 version
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_EXTENDS = VBoxPythonBase
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_EXTENDS_BY = appending
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_NAME = VBoxPython2_3
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_TEMPLATE = XPCOM
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_DEFS = VBOX_PYXPCOM_VERSIONED
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_INCS = $(VBOX_PYTHON23_INC)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython23_LIBS = $(VBOX_PYTHON23_LIB)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_PYTHON23_INC
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync KNOWN_GLUE += VBoxPython23
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Python 2.4 version
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython24_EXTENDS = VBoxPythonBase
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython24_EXTENDS_BY = appending
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython24_NAME = VBoxPython2_4
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython24_TEMPLATE = XPCOM
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython24_DEFS = VBOX_PYXPCOM_VERSIONED
7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97bvboxsyncVBoxPython24_INCS = $(VBOX_PYTHON24_INC)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython24_LIBS = $(VBOX_PYTHON24_LIB)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_PYTHON24_INC
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync KNOWN_GLUE += VBoxPython24
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync# Python 2.5 version
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython25_EXTENDS = VBoxPythonBase
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython25_EXTENDS_BY = appending
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython25_NAME = VBoxPython2_5
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncif "$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)" == "darwin.x86"
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsync VBoxPython25_TEMPLATE = XPCOMOSX105
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsync VBoxPython25_TEMPLATE = XPCOM
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython25_DEFS = VBOX_PYXPCOM_VERSIONED
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython25_INCS = $(VBOX_PYTHON25_INC)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython25_LIBS = $(VBOX_PYTHON25_LIB)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_PYTHON25_INC
fdea543f71872a3ec3909536a4fce37ab7aa3a8bvboxsync KNOWN_GLUE += VBoxPython25
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsync# Python 2.6 version
fdea543f71872a3ec3909536a4fce37ab7aa3a8bvboxsyncVBoxPython26_EXTENDS = VBoxPythonBase
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython26_EXTENDS_BY = appending
fdea543f71872a3ec3909536a4fce37ab7aa3a8bvboxsyncVBoxPython26_NAME = VBoxPython2_6
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython26_TEMPLATE = XPCOM
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython26_DEFS = VBOX_PYXPCOM_VERSIONED
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython26_INCS = $(VBOX_PYTHON26_INC)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython26_LIBS = $(VBOX_PYTHON26_LIB)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_PYTHON26_INC
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsync KNOWN_GLUE += VBoxPython26
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsync# Python 2.7 version
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython27_EXTENDS = VBoxPythonBase
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython27_EXTENDS_BY = appending
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython27_NAME = VBoxPython2_7
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython27_TEMPLATE = XPCOM
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython27_DEFS = VBOX_PYXPCOM_VERSIONED
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython27_INCS = $(VBOX_PYTHON27_INC)
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython27_LIBS = $(VBOX_PYTHON27_LIB)
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncifdef VBOX_PYTHON27_INC
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsync KNOWN_GLUE += VBoxPython27
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsync# Python 2.8 version
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython28_EXTENDS = VBoxPythonBase
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython28_EXTENDS_BY = appending
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython28_NAME = VBoxPython2_8
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython28_TEMPLATE = XPCOM
68ef804c4ec232c58e2c03c8fc6afe3765c5c0d1vboxsyncVBoxPython28_DEFS = VBOX_PYXPCOM_VERSIONED
68ef804c4ec232c58e2c03c8fc6afe3765c5c0d1vboxsyncVBoxPython28_INCS = $(VBOX_PYTHON28_INC)
68ef804c4ec232c58e2c03c8fc6afe3765c5c0d1vboxsyncVBoxPython28_LIBS = $(VBOX_PYTHON28_LIB)
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncifdef VBOX_PYTHON28_INC
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsync KNOWN_GLUE += VBoxPython28
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsync# Python without versioning
726fc44ad0bd65a178ad4c3ab46ebd6cd3208e99vboxsyncVBoxPython_EXTENDS = VBoxPythonBase
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython_EXTENDS_BY = appending
50df3da42ff6589b0ecc4f50f2288811bc370186vboxsyncVBoxPython_TEMPLATE = XPCOM
7e960d3a0a8a3a84d7aba2cca45d72b1c31cc97bvboxsyncVBoxPython_INCS = $(VBOX_PYTHONDEF_INC)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncif "$(KBUILD_TARGET)" == "linux"
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxPython_LIBS =
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync VBoxPython_LIBS = $(VBOX_PYTHONDEF_LIB)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncifdef VBOX_PYTHONDEF_INC
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync KNOWN_GLUE += VBoxPython
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython-inst-py-xpcom_INST = $(INST_SDK)bindings/xpcom/python/xpcom/
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncVBoxPython-inst-py-xpcom_SOURCES = \
a11c569636fa6838bd423f4631a9660a5a84204bvboxsyncifndef VBOX_ONLY_SDK
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync DLLS += $(KNOWN_GLUE)
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncINSTALLS += VBoxPython-inst-py-xpcom
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncinclude $(KBUILD_PATH)/subfooter.kmk