Build: Change build commands to align with TF-M split build

TF-M build commands are changed by new feature "split build".
Update CI scripts to support this feature.

Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: If5a81ca7a1bd99ac8fb9f4850be89b48b76fcbe2
diff --git a/tfm_ci_pylib/tfm_build_manager.py b/tfm_ci_pylib/tfm_build_manager.py
index 53ef5c6..ed7cf3e 100644
--- a/tfm_ci_pylib/tfm_build_manager.py
+++ b/tfm_ci_pylib/tfm_build_manager.py
@@ -129,17 +129,17 @@
         """
         config_details = self._tbm_build_cfg[config]
         codebase_dir = os.path.join(os.getcwd(),"trusted-firmware-m")
-        build_dir=os.path.join(os.getcwd(),"trusted-firmware-m/build")
         build_config = self.get_build_config(config_details, config, \
                                              silence=silence_stderr, \
-                                             build_dir=build_dir, \
                                              codebase_dir=codebase_dir, \
                                              jobs=jobs)
         build_commands = {
-            'set_compiler': build_config['set_compiler_path'],
-            'cmake_config': build_config['config_template'],
-            'cmake_build':  build_config['cmake_build'],
-            'post_build':   build_config['post_build']
+            'set_compiler':      build_config['set_compiler_path'],
+            'spe_cmake_config':  build_config['spe_config_template'],
+            'nspe_cmake_config': build_config['nspe_config_template'],
+            'spe_cmake_build':   build_config['spe_cmake_build'],
+            'nspe_cmake_build':  build_config['nspe_cmake_build'],
+            'post_build':        build_config['post_build']
         }
         return build_commands
 
@@ -252,7 +252,6 @@
 
             build_cfg = self.override_tbm_cfg_params(build_cfg,
                                                      ["post_build",
-                                                      "required_artefacts",
                                                       "artifact_capture_rex"],
                                                      **over_dict)
 
@@ -337,12 +336,7 @@
             print("Exported build report to file:", self._tbm_report)
             save_json(self._tbm_report, full_rep)
 
-    def get_build_config(self, i, name, silence=False, build_dir=None, codebase_dir=None, jobs=None):
-        psa_build_dir = self._tbm_work_dir + "/" + name + "/BUILD"
-        if not build_dir:
-            build_dir = os.path.join(self._tbm_work_dir, name)
-        else:
-            psa_build_dir = os.path.join(build_dir, "../../psa-arch-tests/api-tests/build")
+    def get_build_config(self, i, name, silence=False, codebase_dir=None, jobs=None):
         build_cfg = deepcopy(self.tbm_common_cfg)
         if not codebase_dir:
             codebase_dir = build_cfg["codebase_root_dir"]
@@ -374,14 +368,17 @@
                 jobs = os.cpu_count()
 
         thread_no = " -j {} ".format(jobs)
-        build_cfg["cmake_build"] += thread_no
+        build_cfg["spe_cmake_build"] += thread_no
+        build_cfg["nspe_cmake_build"] += thread_no
 
         # Overwrite command lines to set compiler
         build_cfg["set_compiler_path"] %= {"compiler": i.compiler}
         build_cfg["set_compiler_path"] += " ;\n{} --version".format(self.get_compiler_name(i.compiler))
 
-        # Overwrite command lines of cmake
-        overwrite_params = {"codebase_root_dir": build_cfg["codebase_root_dir"],
+        # Overwrite parameters of build configs
+        overwrite_params = {"codebase_root_dir":   build_cfg["codebase_root_dir"],
+                            "tfm_tests_root_dir":  build_cfg["codebase_root_dir"] + "/../tf-m-tests",
+                            "ci_build_root_dir":  build_cfg["codebase_root_dir"] + "/../ci_build",
                             "tfm_platform": i.tfm_platform,
                             "compiler": self.choose_toolchain(i.compiler),
                             "isolation_level": i.isolation_level,
@@ -400,8 +397,19 @@
             overwrite_params["test_psa_api"] += " -DCC312_LEGACY_DRIVER_API_ENABLED=OFF"
         if i.tfm_platform == "arm/musca_b1":
             overwrite_params["test_psa_api"] += " -DOTP_NV_COUNTERS_RAM_EMULATION=ON"
-        build_cfg["config_template"] %= overwrite_params
-        build_cfg["post_build"] %= {"_tbm_build_dir_": build_dir}
+
+        # Test root dir
+        if i.test_psa_api != "OFF":
+            overwrite_params["test_root_dir"] = "tests_psa_arch"
+        else:
+            overwrite_params["test_root_dir"] = "tests_reg"
+
+        # Overwrite commands for building TF-M image
+        build_cfg["spe_config_template"] %= overwrite_params
+        build_cfg["nspe_config_template"] %= overwrite_params
+        build_cfg["spe_cmake_build"] %= overwrite_params
+        build_cfg["nspe_cmake_build"] %= overwrite_params
+        build_cfg["post_build"] %= overwrite_params
 
         return build_cfg