diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..b17a2e3
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,188 @@
+cc_defaults {
+    name: "pfw_defaults",
+    host_supported: true,
+
+    cflags: [
+        "-frtti",
+        "-fexceptions",
+        "-Wall",
+        "-Werror",
+    ],
+    rtti: true,
+}
+
+cc_library_static {
+    name: "libpfw_utility",
+    defaults: ["pfw_defaults"],
+    host_supported: true,
+
+    export_include_dirs: ["upstream/utility"],
+
+    srcs: [
+        "upstream/utility/DynamicLibrary.cpp",
+        "upstream/utility/posix/DynamicLibrary.cpp",
+        "upstream/utility/Tokenizer.cpp",
+        "upstream/utility/Utility.cpp",
+    ],
+}
+
+cc_library_shared {
+    name: "libremote-processor",
+    defaults: ["pfw_defaults"],
+
+    cflags: ["-Wno-implicit-fallthrough"],
+    local_include_dirs: ["upstream/asio/stub"],
+    export_include_dirs: [
+        "upstream/remote-processor",
+        "support/android/remote-processor",
+    ],
+
+    srcs: [
+        "upstream/remote-processor/RequestMessage.cpp",
+        "upstream/remote-processor/Message.cpp",
+        "upstream/remote-processor/AnswerMessage.cpp",
+        "upstream/remote-processor/RemoteProcessorServer.cpp",
+        "upstream/remote-processor/BackgroundRemoteProcessorServer.cpp",
+    ],
+    static_libs: ["libpfw_utility"],
+}
+
+cc_library_shared {
+    name: "libparameter",
+    defaults: ["pfw_defaults"],
+
+    cppflags: [
+        "-Wno-instantiation-after-specialization",
+        "-Wno-implicit-fallthrough",
+    ],
+    export_include_dirs: [
+        "upstream/parameter",
+        "upstream/parameter/log/include",
+        "upstream/parameter/include",
+        "upstream/xmlserializer",
+        "upstream/remote-processor",
+        "support/android/parameter",
+    ],
+    shared_libs: [
+        "libremote-processor",
+        "libicuuc",
+    ],
+    static_libs: [
+        "libpfw_utility",
+        "libxml2",
+    ],
+
+    srcs: [
+        "upstream/parameter/ParameterMgrPlatformConnector.cpp",
+        "upstream/parameter/LoggingElementBuilderTemplate.cpp",
+        "upstream/parameter/StringParameterType.cpp",
+        "upstream/parameter/SyncerSet.cpp",
+        "upstream/parameter/BitParameter.cpp",
+        "upstream/parameter/BaseParameter.cpp",
+        "upstream/parameter/ParameterBlockType.cpp",
+        "upstream/parameter/FloatingPointParameterType.cpp",
+        "upstream/parameter/SelectionCriteriaDefinition.cpp",
+        "upstream/parameter/EnumValuePair.cpp",
+        "upstream/parameter/SelectionCriteria.cpp",
+        "upstream/parameter/SelectionCriterionRule.cpp",
+        "upstream/parameter/AreaConfiguration.cpp",
+        "upstream/parameter/BitParameterBlockType.cpp",
+        "upstream/parameter/ConfigurationAccessContext.cpp",
+        "upstream/parameter/BitwiseAreaConfiguration.cpp",
+        "upstream/parameter/ArrayParameter.cpp",
+        "upstream/parameter/ParameterBlackboard.cpp",
+        "upstream/parameter/InstanceConfigurableElement.cpp",
+        "upstream/parameter/LogarithmicParameterAdaptation.cpp",
+        "upstream/parameter/ConfigurableDomain.cpp",
+        "upstream/parameter/FormattedSubsystemObject.cpp",
+        "upstream/parameter/MappingData.cpp",
+        "upstream/parameter/SubsystemElementBuilder.cpp",
+        "upstream/parameter/BooleanParameterType.cpp",
+        "upstream/parameter/FixedPointParameterType.cpp",
+        "upstream/parameter/ComponentType.cpp",
+        "upstream/parameter/EnumParameterType.cpp",
+        "upstream/parameter/RuleParser.cpp",
+        "upstream/parameter/VirtualSubsystem.cpp",
+        "upstream/parameter/Element.cpp",
+        "upstream/parameter/ParameterFrameworkConfiguration.cpp",
+        "upstream/parameter/SelectionCriterionLibrary.cpp",
+        "upstream/parameter/StringParameter.cpp",
+        "upstream/parameter/CompoundRule.cpp",
+        "upstream/parameter/ConfigurableDomains.cpp",
+        "upstream/parameter/VirtualSyncer.cpp",
+        "upstream/parameter/MappingContext.cpp",
+        "upstream/parameter/LinearParameterAdaptation.cpp",
+        "upstream/parameter/ComponentLibrary.cpp",
+        "upstream/parameter/BitParameterBlock.cpp",
+        "upstream/parameter/ParameterMgrFullConnector.cpp",
+        "upstream/parameter/ConfigurableElement.cpp",
+        "upstream/parameter/ConfigurableElementAggregator.cpp",
+        "upstream/parameter/SubsystemObject.cpp",
+        "upstream/parameter/TypeElement.cpp",
+        "upstream/parameter/PathNavigator.cpp",
+        "upstream/parameter/ElementLocator.cpp",
+        "upstream/parameter/SimulatedBackSynchronizer.cpp",
+        "upstream/parameter/Parameter.cpp",
+        "upstream/parameter/ComponentInstance.cpp",
+        "upstream/parameter/InstanceDefinition.cpp",
+        "upstream/parameter/SubsystemObjectCreator.cpp",
+        "upstream/parameter/ParameterType.cpp",
+        "upstream/parameter/DomainConfiguration.cpp",
+        "upstream/parameter/PluginLocation.cpp",
+        "upstream/parameter/HardwareBackSynchronizer.cpp",
+        "upstream/parameter/SystemClass.cpp",
+        "upstream/parameter/ElementLibrary.cpp",
+        "upstream/parameter/ParameterAccessContext.cpp",
+        "upstream/parameter/XmlParameterSerializingContext.cpp",
+        "upstream/parameter/ElementHandle.cpp",
+        "upstream/parameter/ParameterMgr.cpp",
+        "upstream/parameter/SelectionCriterionType.cpp",
+        "upstream/parameter/Subsystem.cpp",
+        "upstream/parameter/IntegerParameterType.cpp",
+        "upstream/parameter/BitParameterType.cpp",
+        "upstream/parameter/SelectionCriterion.cpp",
+        "upstream/parameter/XmlElementSerializingContext.cpp",
+        "upstream/parameter/ElementLibrarySet.cpp",
+        "upstream/parameter/FrameworkConfigurationLocation.cpp",
+        "upstream/parameter/ParameterAdaptation.cpp",
+        "upstream/parameter/XmlFileIncluderElement.cpp",
+        "upstream/xmlserializer/XmlElement.cpp",
+        "upstream/xmlserializer/XmlSerializingContext.cpp",
+        "upstream/xmlserializer/XmlMemoryDocSource.cpp",
+        "upstream/xmlserializer/XmlDocSource.cpp",
+        "upstream/xmlserializer/XmlMemoryDocSink.cpp",
+        "upstream/xmlserializer/XmlStreamDocSink.cpp",
+        "upstream/parameter/CommandHandlerWrapper.cpp",
+    ],
+}
+
+cc_binary {
+    name: "test-platform",
+    defaults: ["pfw_defaults"],
+
+    cflags: ["-Wno-implicit-fallthrough"],
+    local_include_dirs: [
+        "upstream/test/test-platform",
+        "upstream/asio/stub",
+    ],
+
+    srcs: [
+        "upstream/test/test-platform/main.cpp",
+        "upstream/test/test-platform/TestPlatform.cpp",
+    ],
+    static_libs: ["libpfw_utility"],
+    shared_libs: [
+        "libparameter",
+        "libremote-processor",
+    ],
+}
+
+cc_binary_host {
+    name: "domainGeneratorConnector",
+    defaults: ["pfw_defaults"],
+
+    owner: "intel",
+    static_libs: ["libpfw_utility"],
+    shared_libs: ["libparameter"],
+    srcs: ["upstream/tools/xmlGenerator/domainGeneratorConnector.cpp"],
+}
diff --git a/Android.mk b/Android.mk
index 448e659..f3263cd 100644
--- a/Android.mk
+++ b/Android.mk
@@ -26,75 +26,7 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-ifneq ($(USE_CUSTOM_PARAMETER_FRAMEWORK), true)
-
-#
-# Do not allow to use the networking feature through socket (debug purpose of the PFW)
-# for user build.
-#
-ifeq ($(TARGET_BUILD_VARIANT),user)
-PFW_NETWORKING := false
-PFW_NETWORKING_SUFFIX := -no-networking
-endif
-
 LOCAL_PATH := $(call my-dir)
 
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/LibPfwUtility.mk
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_IS_HOST_MODULE := true
-include $(LOCAL_PATH)/LibPfwUtility.mk
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/LibRemoteProcessor.mk
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_IS_HOST_MODULE := true
-include $(LOCAL_PATH)/LibRemoteProcessor.mk
-LOCAL_LDLIBS += -lpthread
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-# build libparameter
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/LibParameter.mk
-LOCAL_SHARED_LIBRARIES += libicuuc libdl
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_IS_HOST_MODULE := true
-include $(LOCAL_PATH)/LibParameter.mk
-LOCAL_SHARED_LIBRARIES += libicuuc
-LOCAL_LDLIBS := -ldl
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/TestPlatform.mk
-include $(BUILD_EXECUTABLE)
-
-include $(CLEAR_VARS)
-LOCAL_IS_HOST_MODULE := true
-include $(LOCAL_PATH)/TestPlatform.mk
-LOCAL_LDLIBS := -lpthread
-include $(BUILD_HOST_EXECUTABLE)
-
-ifneq ($(PFW_NETWORKING),false)
-
-include $(CLEAR_VARS)
-include $(LOCAL_PATH)/RemoteProcess.mk
-include $(BUILD_EXECUTABLE)
-
-include $(CLEAR_VARS)
-LOCAL_IS_HOST_MODULE := true
-include $(LOCAL_PATH)/RemoteProcess.mk
-include $(BUILD_HOST_EXECUTABLE)
-
-endif #ifneq ($(PFW_NETWORKING),false)
-
 include $(LOCAL_PATH)/XmlGenerator.mk
 include $(LOCAL_PATH)/Schemas.mk
-
-endif #ifneq ($(USE_CUSTOM_PARAMETER_FRAMEWORK), true)
diff --git a/LibParameter.mk b/LibParameter.mk
deleted file mode 100644
index b648f09..0000000
--- a/LibParameter.mk
+++ /dev/null
@@ -1,143 +0,0 @@
-# Copyright (c) 2016, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification,
-# are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation and/or
-# other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors
-# may be used to endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-ifeq ($(LOCAL_IS_HOST_MODULE),true)
-SUFFIX := _host
-else
-SUFFIX :=
-endif
-
-LOCAL_MODULE := libparameter$(SUFFIX)
-LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-LOCAL_SRC_FILES := \
-    upstream/parameter/ParameterMgrPlatformConnector.cpp \
-    upstream/parameter/LoggingElementBuilderTemplate.cpp \
-    upstream/parameter/StringParameterType.cpp \
-    upstream/parameter/SyncerSet.cpp \
-    upstream/parameter/BitParameter.cpp \
-    upstream/parameter/BaseParameter.cpp \
-    upstream/parameter/ParameterBlockType.cpp \
-    upstream/parameter/FloatingPointParameterType.cpp \
-    upstream/parameter/SelectionCriteriaDefinition.cpp \
-    upstream/parameter/EnumValuePair.cpp \
-    upstream/parameter/SelectionCriteria.cpp \
-    upstream/parameter/SelectionCriterionRule.cpp \
-    upstream/parameter/AreaConfiguration.cpp \
-    upstream/parameter/BitParameterBlockType.cpp \
-    upstream/parameter/ConfigurationAccessContext.cpp \
-    upstream/parameter/BitwiseAreaConfiguration.cpp \
-    upstream/parameter/ArrayParameter.cpp \
-    upstream/parameter/ParameterBlackboard.cpp \
-    upstream/parameter/InstanceConfigurableElement.cpp \
-    upstream/parameter/LogarithmicParameterAdaptation.cpp \
-    upstream/parameter/ConfigurableDomain.cpp \
-    upstream/parameter/FormattedSubsystemObject.cpp \
-    upstream/parameter/MappingData.cpp \
-    upstream/parameter/SubsystemElementBuilder.cpp \
-    upstream/parameter/BooleanParameterType.cpp \
-    upstream/parameter/FixedPointParameterType.cpp \
-    upstream/parameter/ComponentType.cpp \
-    upstream/parameter/EnumParameterType.cpp \
-    upstream/parameter/RuleParser.cpp \
-    upstream/parameter/VirtualSubsystem.cpp \
-    upstream/parameter/Element.cpp \
-    upstream/parameter/ParameterFrameworkConfiguration.cpp \
-    upstream/parameter/SelectionCriterionLibrary.cpp \
-    upstream/parameter/StringParameter.cpp \
-    upstream/parameter/CompoundRule.cpp \
-    upstream/parameter/ConfigurableDomains.cpp \
-    upstream/parameter/VirtualSyncer.cpp \
-    upstream/parameter/MappingContext.cpp \
-    upstream/parameter/LinearParameterAdaptation.cpp \
-    upstream/parameter/ComponentLibrary.cpp \
-    upstream/parameter/BitParameterBlock.cpp \
-    upstream/parameter/ParameterMgrFullConnector.cpp \
-    upstream/parameter/ConfigurableElement.cpp \
-    upstream/parameter/ConfigurableElementAggregator.cpp \
-    upstream/parameter/SubsystemObject.cpp \
-    upstream/parameter/TypeElement.cpp \
-    upstream/parameter/PathNavigator.cpp \
-    upstream/parameter/ElementLocator.cpp \
-    upstream/parameter/SimulatedBackSynchronizer.cpp \
-    upstream/parameter/Parameter.cpp \
-    upstream/parameter/ComponentInstance.cpp \
-    upstream/parameter/InstanceDefinition.cpp \
-    upstream/parameter/SubsystemObjectCreator.cpp \
-    upstream/parameter/ParameterType.cpp \
-    upstream/parameter/DomainConfiguration.cpp \
-    upstream/parameter/PluginLocation.cpp \
-    upstream/parameter/HardwareBackSynchronizer.cpp \
-    upstream/parameter/SystemClass.cpp \
-    upstream/parameter/ElementLibrary.cpp \
-    upstream/parameter/ParameterAccessContext.cpp \
-    upstream/parameter/XmlParameterSerializingContext.cpp \
-    upstream/parameter/ElementHandle.cpp \
-    upstream/parameter/ParameterMgr.cpp \
-    upstream/parameter/SelectionCriterionType.cpp \
-    upstream/parameter/Subsystem.cpp \
-    upstream/parameter/IntegerParameterType.cpp \
-    upstream/parameter/BitParameterType.cpp \
-    upstream/parameter/SelectionCriterion.cpp \
-    upstream/parameter/XmlElementSerializingContext.cpp \
-    upstream/parameter/ElementLibrarySet.cpp \
-    upstream/parameter/FrameworkConfigurationLocation.cpp \
-    upstream/parameter/ParameterAdaptation.cpp \
-    upstream/parameter/XmlFileIncluderElement.cpp \
-    upstream/xmlserializer/XmlElement.cpp \
-    upstream/xmlserializer/XmlSerializingContext.cpp \
-    upstream/xmlserializer/XmlMemoryDocSource.cpp \
-    upstream/xmlserializer/XmlDocSource.cpp \
-    upstream/xmlserializer/XmlMemoryDocSink.cpp \
-    upstream/xmlserializer/XmlStreamDocSink.cpp \
-    upstream/parameter/CommandHandlerWrapper.cpp
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
-    $(LOCAL_PATH)/upstream/parameter/ \
-    $(LOCAL_PATH)/upstream/parameter/log/include \
-    $(LOCAL_PATH)/upstream/parameter/include \
-    $(LOCAL_PATH)/upstream/xmlserializer/ \
-    $(LOCAL_PATH)/upstream/remote-processor/ \
-    $(LOCAL_PATH)/support/android/parameter/
-
-LOCAL_C_INCLUDES := $(LOCAL_EXPORT_C_INCLUDE_DIRS)
-
-LOCAL_SHARED_LIBRARIES := libremote-processor$(PFW_NETWORKING_SUFFIX)$(SUFFIX)
-LOCAL_C_INCLUDES += \
-    external/libxml2/include \
-    external/icu/icu4c/source/common
-
-LOCAL_CFLAGS := -Wall -Werror
-
-LOCAL_CPPFLAGS := \
-    -frtti -fexceptions \
-    -Wno-instantiation-after-specialization \
-    -Wno-implicit-fallthrough \
-
-LOCAL_STATIC_LIBRARIES := \
-    libpfw_utility$(SUFFIX) \
-    libxml2
diff --git a/LibPfwUtility.mk b/LibPfwUtility.mk
deleted file mode 100644
index 2d0bcbf..0000000
--- a/LibPfwUtility.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2016, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification,
-# are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation and/or
-# other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors
-# may be used to endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-ifeq ($(LOCAL_IS_HOST_MODULE),true)
-SUFFIX := _host
-else
-SUFFIX :=
-endif
-
-LOCAL_MODULE := libpfw_utility$(SUFFIX)
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_SRC_FILES := \
-    upstream/utility/DynamicLibrary.cpp \
-    upstream/utility/posix/DynamicLibrary.cpp \
-    upstream/utility/Tokenizer.cpp \
-    upstream/utility/Utility.cpp
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/upstream/utility/
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/upstream/utility/
-LOCAL_CFLAGS := \
-    -frtti -fexceptions \
-    -Wall -Werror \
-
diff --git a/LibRemoteProcessor.mk b/LibRemoteProcessor.mk
deleted file mode 100644
index 90a344e..0000000
--- a/LibRemoteProcessor.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright (c) 2016, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification,
-# are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation and/or
-# other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors
-# may be used to endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-ifeq ($(LOCAL_IS_HOST_MODULE),true)
-SUFFIX := _host
-else
-SUFFIX :=
-endif
-
-LOCAL_MODULE := libremote-processor$(PFW_NETWORKING_SUFFIX)$(SUFFIX)
-LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-LOCAL_SRC_FILES := \
-    upstream/remote-processor/RequestMessage.cpp \
-    upstream/remote-processor/Message.cpp \
-    upstream/remote-processor/AnswerMessage.cpp \
-    upstream/remote-processor/RemoteProcessorServer.cpp \
-    upstream/remote-processor/BackgroundRemoteProcessorServer.cpp
-
-LOCAL_EXPORT_C_INCLUDE_DIRS := \
-    $(LOCAL_PATH)/upstream/remote-processor/ \
-    $(LOCAL_PATH)/support/android/remote-processor/
-
-LOCAL_STATIC_LIBRARIES := libpfw_utility$(SUFFIX)
-LOCAL_CFLAGS := -frtti -fexceptions
-
-LOCAL_C_INCLUDES := $(LOCAL_EXPORT_C_INCLUDE_DIRS)
-
-ifeq ($(PFW_NETWORKING),false)
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream/asio/stub
-
-else
-
-LOCAL_C_INCLUDES += \
-    $(LOCAL_PATH)/support/android/asio
-
-LOCAL_CFLAGS :=  \
-    -Wall -Werror \
-    -frtti -fexceptions \
-    -isystem $(LOCAL_PATH)/asio/include
-
-endif #ifeq ($(PFW_NETWORKING),false)
-
-LOCAL_CFLAGS += -Wno-implicit-fallthrough
diff --git a/RemoteProcess.mk b/RemoteProcess.mk
deleted file mode 100644
index 2578399..0000000
--- a/RemoteProcess.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (c) 2016, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification,
-# are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation and/or
-# other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors
-# may be used to endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-ifeq ($(LOCAL_IS_HOST_MODULE),true)
-SUFFIX := _host
-else
-SUFFIX :=
-endif
-
-LOCAL_MODULE := remote-process$(SUFFIX)
-LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_SRC_FILES := upstream/remote-process/main.cpp
-LOCAL_C_INCLUDES := \
-    $(LOCAL_PATH)/upstream/utility/ \
-    $(LOCAL_PATH)/support/android/asio
-
-LOCAL_CFLAGS := \
-    -Wall -Werror \
-    -frtti -fexceptions \
-    -isystem $(LOCAL_PATH)/asio/include
-
-LOCAL_SHARED_LIBRARIES := libremote-processor$(PFW_NETWORKING_SUFFIX)$(SUFFIX)
diff --git a/TestPlatform.mk b/TestPlatform.mk
deleted file mode 100644
index 66861b5..0000000
--- a/TestPlatform.mk
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (c) 2016, Intel Corporation
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification,
-# are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation and/or
-# other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its contributors
-# may be used to endorse or promote products derived from this software without
-# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-ifeq ($(LOCAL_IS_HOST_MODULE),true)
-SUFFIX := _host
-else
-SUFFIX :=
-endif
-
-LOCAL_MODULE := test-platform$(SUFFIX)
-LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_SRC_FILES := \
-    upstream/test/test-platform/main.cpp \
-    upstream/test/test-platform/TestPlatform.cpp
-
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/upstream/test/test-platform
-
-LOCAL_STATIC_LIBRARIES := libpfw_utility$(SUFFIX)
-LOCAL_SHARED_LIBRARIES := \
-    libparameter$(SUFFIX) \
-    libremote-processor$(PFW_NETWORKING_SUFFIX)$(SUFFIX)
-
-ifeq ($(PFW_NETWORKING),false)
-
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/upstream/asio/stub
-LOCAL_CFLAGS := -frtti -fexceptions
-
-else
-
-LOCAL_C_INCLUDES += \
-    $(LOCAL_PATH)/support/android/asio
-
-LOCAL_CFLAGS :=  \
-    -frtti -fexceptions \
-    -isystem $(LOCAL_PATH)/asio/include
-
-endif #ifeq ($(PFW_NETWORKING),false)
-
-LOCAL_CFLAGS += -Wall -Werror -Wno-implicit-fallthrough
diff --git a/XmlGenerator.mk b/XmlGenerator.mk
index c1d9741..7eed1a2 100644
--- a/XmlGenerator.mk
+++ b/XmlGenerator.mk
@@ -73,15 +73,6 @@
 include $(BUILD_PREBUILT)
 
 include $(CLEAR_VARS)
-LOCAL_MODULE := domainGeneratorConnector
-LOCAL_MODULE_OWNER := intel
-LOCAL_STATIC_LIBRARIES := libpfw_utility_host
-LOCAL_SHARED_LIBRARIES := libparameter_host
-LOCAL_CFLAGS := -fexceptions -Wall -Werror
-LOCAL_SRC_FILES := ./upstream/tools/xmlGenerator/domainGeneratorConnector.cpp
-include $(BUILD_HOST_EXECUTABLE)
-
-include $(CLEAR_VARS)
 LOCAL_MODULE := domainGenerator.py
 LOCAL_MODULE_OWNER := intel
 LOCAL_SRC_FILES := ./upstream/tools/xmlGenerator/$(LOCAL_MODULE)
