PRSDK-3513 Modified xs file to build.
[keystone-rtos/mcbsp-lld.git] / src / Module.xs
index aad0b481b358a3662a137ee0f46bdde5b78e78b6..a91726d8c61a77f05ff27f1e58e666752b8c466a 100644 (file)
@@ -27,28 +27,61 @@ var mcbsplldFile = [
  **************************************************************************/
 function modBuild() 
 {
-    /* Build the libraries for all the targets specified. */
-    for (var targets=0; targets < Build.targets.length; targets++)
+
+    if (socs.length != 0)
     {
-        var libOptions = {
-        };
+        /* Build the device independent libraries for all the targets specified. */
+        for (var targets=0; targets < socs["all"].targets.length; targets++)
+        {
+            if(socs["all"].build == "false")
+                            continue;
+                    var targetFiles = mcasplldFiles.slice(); /* make copy */
+            var libOptions = {
+                copts: socs["all"].copts,
+                incs:  lldIncludePath, 
+            };
+            libUtility.buildLibrary ("",  "false", "false", libOptions, Pkg.name, socs["all"].targets[targets], targetFiles);
+        }
         
-        libUtility.buildLibrary (libOptions, "ti.drv.mcbsp", Build.targets[targets], mcbsplldFile);
+        /* Build library targets for device dependent SoCs */
+        for (var soc=0; soc < soc_names.length; soc++) 
+        {
+            var dev = socs[soc_names[soc]];
+            
+            /* do not proceed if this SoC is not configured to be built */
+            if (dev.build == "false")
+               continue;
+
+            if (dev.socDevLib == "true")
+            { 
+                var targetFiles_soc = mcasplldFiles.slice(); /* make copy */
+                targetFiles_soc.push (deviceConstruct[0]+soc_names[soc]+deviceConstruct[1]);
+                /* Build the libraries for all the targets specified. */
+                for (var targets=0; targets < dev.targets.length; targets++)
+                {
+                    var libOptions = {
+                        copts: dev.copts,
+                        incs:  lldIncludePath, 
+                    };
+                    libUtility.buildLibrary (soc_names[soc], "false", "true", libOptions, Pkg.name, dev.targets[targets], targetFiles_soc);
+                }
+            }
+        }        
     }
 
     /* Add all the .c files to the release package. */
-    var testFiles = libUtility.listAllFiles (".c", "src");
+    var testFiles = libUtility.listAllFiles (".c", "src", true);
     for (var k = 0 ; k < testFiles.length; k++)
         Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];
 
     /* Add all the .h files to the release package. */
-    var testFiles = libUtility.listAllFiles (".h", "src");
+    var testFiles = libUtility.listAllFiles (".h", "src", true);
     for (var k = 0 ; k < testFiles.length; k++)
         Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];
 
-    /* Add all the .c files in the device directory to the release package also */
-    var testFiles = libUtility.listAllFiles (".c", "device");
-    for (var k = 0 ; k < testFiles.length; k++)
-        Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];
+    /* Add all the .mk files to the release package. */
+    var mkFiles = libUtility.listAllFiles (".mk", "src", true);
+    for (var k = 0 ; k < mkFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = mkFiles[k];
 }