PRSDK-3513 Modified xs file to build.
[keystone-rtos/mcbsp-lld.git] / src / Module.xs
1 /******************************************************************************
2  * FILE PURPOSE: MCBSP Source module specification file.
3  ******************************************************************************
4  * FILE NAME: Module.xs
5  *
6  * DESCRIPTION: 
7  *  This file contains the module specification for the MCBSP source directory.
8  *
9  * Copyright (C) 2012, Texas Instruments, Inc.
10  *****************************************************************************/
12 /* Load the library utility. */
13 var libUtility = xdc.loadCapsule ("../build/buildlib.xs");
15 /* List of all the MCBSP LLD Files */
16 var mcbsplldFile = [
17     "src/mcbsp_drv.c",
18     "src/mcbsp_ioctl.c",
19     "src/mcbsp_edma.c"
20 ];
22 /**************************************************************************
23  * FUNCTION NAME : modBuild
24  **************************************************************************
25  * DESCRIPTION   :
26  *  The function is used to build all the components of the MCBSP library
27  **************************************************************************/
28 function modBuild() 
29 {
31     if (socs.length != 0)
32     {
33         /* Build the device independent libraries for all the targets specified. */
34         for (var targets=0; targets < socs["all"].targets.length; targets++)
35         {
36             if(socs["all"].build == "false")
37                             continue;
38                     var targetFiles = mcasplldFiles.slice(); /* make copy */
39             var libOptions = {
40                 copts: socs["all"].copts,
41                 incs:  lldIncludePath, 
42             };
43             libUtility.buildLibrary ("",  "false", "false", libOptions, Pkg.name, socs["all"].targets[targets], targetFiles);
44         }
45         
46         /* Build library targets for device dependent SoCs */
47         for (var soc=0; soc < soc_names.length; soc++) 
48         {
49             var dev = socs[soc_names[soc]];
50             
51             /* do not proceed if this SoC is not configured to be built */
52             if (dev.build == "false")
53                continue;
55             if (dev.socDevLib == "true")
56             { 
57                 var targetFiles_soc = mcasplldFiles.slice(); /* make copy */
58                 targetFiles_soc.push (deviceConstruct[0]+soc_names[soc]+deviceConstruct[1]);
59                 /* Build the libraries for all the targets specified. */
60                 for (var targets=0; targets < dev.targets.length; targets++)
61                 {
62                     var libOptions = {
63                         copts: dev.copts,
64                         incs:  lldIncludePath, 
65                     };
66                     libUtility.buildLibrary (soc_names[soc], "false", "true", libOptions, Pkg.name, dev.targets[targets], targetFiles_soc);
67                 }
68             }
69         }        
70     }
72     /* Add all the .c files to the release package. */
73     var testFiles = libUtility.listAllFiles (".c", "src", true);
74     for (var k = 0 ; k < testFiles.length; k++)
75         Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];
77     /* Add all the .h files to the release package. */
78     var testFiles = libUtility.listAllFiles (".h", "src", true);
79     for (var k = 0 ; k < testFiles.length; k++)
80         Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];
82     /* Add all the .mk files to the release package. */
83     var mkFiles = libUtility.listAllFiles (".mk", "src", true);
84     for (var k = 0 ; k < mkFiles.length; k++)
85         Pkg.otherFiles[Pkg.otherFiles.length++] = mkFiles[k];
86 }