]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/commitdiff
k2g merge
authorAravind Batni <aravindbr@ti.com>
Tue, 2 Feb 2016 22:42:05 +0000 (17:42 -0500)
committerAravind Batni <aravindbr@ti.com>
Tue, 2 Feb 2016 22:42:05 +0000 (17:42 -0500)
1  2 
build/buildlib.xs
config.bld
package.xdc
test/k2e/c66/bios/rmK2EC66DspMtBiosTestProject.txt
test/k2g/c66/bios/rmK2GC66A15LinuxDspClientTestProject.txt
test/k2h/c66/bios/rmK2HC66DspMtBiosTestProject.txt
test/k2k/c66/bios/rmK2KC66DspMtBiosTestProject.txt
test/k2k/c66/bios/rm_test_sc.cfg
test/k2l/c66/bios/rmK2LC66DspMtBiosTestProject.txt

diff --combined build/buildlib.xs
index f9aadb7029242370052982081621557b0c825848,e9732bceecab36483c442b02d9404ffdbb69e2d5..f9aadb7029242370052982081621557b0c825848
mode 100644,100644..100755
 -/******************************************************************************\r
 - * FILE PURPOSE: Build Library Utilities\r
 - ******************************************************************************\r
 - * FILE NAME: buildlib.xs\r
 - *\r
 - * DESCRIPTION: \r
 - *  This file contains common routines that are used by the various RM \r
 - *  components.\r
 - *\r
 - * Copyright (C) 2011-2015, Texas Instruments, Inc.\r
 - *****************************************************************************/\r
 -\r
 -/**************************************************************************\r
 - * FUNCTION NAME : listAllFiles\r
 - **************************************************************************\r
 - * DESCRIPTION   :\r
 - *  Utility function which lists all files with a specific extension \r
 - *  present in a directory and any directory inside it.\r
 - **************************************************************************/\r
 -function listAllFiles(ext, dir, recurse)\r
 -{     \r
 -    var srcFile = [];\r
 -    var d;\r
 -\r
 -    /* If recurse parameter is not specified we default to recursive search. */\r
 -    if (recurse == null)\r
 -        recurse = true;\r
 -\r
 -    if (dir == undefined) \r
 -          d = ".";\r
 -    else \r
 -      d = dir;\r
 -\r
 -    /* Get access to the current directory. */\r
 -    var file = new java.io.File(d);\r
 -\r
 -    /* Check if the file exists and it is a directory. */\r
 -    if (file.exists() && file.isDirectory()) \r
 -    {\r
 -        /* Get a list of all files in the specific directory. */\r
 -        var fileList = file.listFiles();\r
 -        for (var i = 0; i < fileList.length; i++) \r
 -        {\r
 -            /* Dont add the generated directory 'package' and any of its files \r
 -             * to the list here. */\r
 -            if (fileList[i].getName().matches("package") == false)\r
 -            {\r
 -                /* Check if the detected file is a directory */\r
 -                if (fileList[i].isDirectory())\r
 -                {\r
 -                    /* We will recurse into the subdirectory only if required to do so. */\r
 -                    if (recurse == true)\r
 -                    {\r
 -                        /* Generate the directory Name in which we will recurse. */ \r
 -                        var directoryName = d + "/" + fileList[i].getName();\r
 -\r
 -                        /* Get a list of all files in this directory */\r
 -                        var fileListing = listAllFiles (ext, directoryName, recurse);\r
 -                        if (fileListing != null)\r
 -                        {\r
 -                            /* Return a list of all file names in the directory. */\r
 -                            for (var j = 0 ; j < fileListing.length; j++) \r
 -                                srcFile[srcFile.length++] = fileListing[j];\r
 -                        }\r
 -                    }\r
 -                }\r
 -                else\r
 -                {\r
 -                    /* This was a file. Check if the file name matches the extension */\r
 -                    if (fileList[i].getName().endsWith(ext) == true)\r
 -                        srcFile[srcFile.length++] = d + "/" + fileList[i].getName();\r
 -                }\r
 -            }\r
 -        }\r
 -\r
 -        return srcFile;\r
 -    }\r
 -    return null;\r
 -}\r
 -\r
 -\r
 -function createMake(makefile)\r
 -{\r
 -    /* Create the main make file */\r
 -    var fileModule = xdc.module('xdc.services.io.File');\r
 -    if(makefile==undefined)\r
 -    {\r
 -      try{\r
 -          makefile = fileModule.open("makefile", "w");\r
 -         } catch (ex)\r
 -         {\r
 -           print("makefile cannot be written to. Please check Writing Permissions.");\r
 -           java.lang.System.exit(1);\r
 -         }   \r
 -    \r
 -      Pkg.makePrologue += "\ninclude makefile\n"; \r
 -         \r
 -      Pkg.makeEpilogue += "\nclean::\n\t-$(RM)  makefile\n";\r
 -      makefile.writeLine("#*******************************************************************************");\r
 -      makefile.writeLine("#* FILE PURPOSE: Top level makefile for Creating Component Libraries");\r
 -      makefile.writeLine("#*******************************************************************************");\r
 -      makefile.writeLine("#* FILE NAME: makefile");\r
 -      makefile.writeLine("#*");\r
 -      makefile.writeLine("#* DESCRIPTION: Defines Compiler tools paths, libraries , Build Options ");\r
 -      makefile.writeLine("#*");\r
 -      makefile.writeLine("#*");\r
 -      makefile.writeLine("#*******************************************************************************");\r
 -      makefile.writeLine("#*");\r
 -      makefile.writeLine("# (Mandatory) Specify where various tools are installed.");\r
 -\r
 -      var file = xdc.module('xdc.services.io.File');\r
 -    \r
 -      \r
 -      makefile.writeLine("\n# Output for prebuilt generated libraries");\r
 -      makefile.writeLine("export LIBDIR ?= ./lib");\r
 -      /* use sectti.exe from path */\r
 -      makefile.writeLine("export SECTTI ?= sectti");\r
 -\r
 -      /* Create INCDIR from XDCPATH */\r
 -    \r
 -      /* copy the environment array from the current environment */\r
 -      var env   = java.lang.System.getenv();\r
 -      var getxdcpath=String(java.lang.System.getenv("XDCPATH"));\r
 -      getxdcpath= getxdcpath.replace(/\\/g,"/");\r
 -      var keys  = env.keySet().toArray();\r
 -      var key;\r
 -      var stat={};\r
 -      var env_j=[];\r
 -      var listxdcpath = new Array();\r
 -      for (var i = 0; i < keys.length; i++) {\r
 -           key = String(keys[i]);\r
 -           if((key.match("INSTALL_PATH")) || (key.match("INSTALLDIR")))\r
 -           {\r
 -             var keyPath=String(env.get(key));\r
 -             keyPath=keyPath.replace(/\\/g,"/");\r
 -             var file = xdc.module('xdc.services.io.File');\r
 -             keyPath=file.getDOSPath(keyPath);\r
 -             if(getxdcpath.toString().match(keyPath))\r
 -             {\r
 -                 listxdcpath.push({keyname: key,keypath: keyPath});\r
 -                 while(getxdcpath.toString().match(keyPath))\r
 -                 {\r
 -                   getxdcpath=getxdcpath.toString().replace(keyPath,"$("+key+")");\r
 -                 }\r
 -             }\r
 -           }\r
 -    \r
 -     }\r
 -       var pkgroot="..";\r
 -       for (var i = Pkg.name.split('.').length; i > 1; i--) {\r
 -              pkgroot+="/..";\r
 -          }\r
 -        \r
 -      makefile.writeLine("\n# ROOT Directory");        \r
 -      makefile.writeLine("export ROOTDIR := "+pkgroot);\r
 -    \r
 -      makefile.writeLine("\n# INCLUDE Directory");\r
 -      makefile.writeLine("export INCDIR := "+getxdcpath+";$(ROOTDIR)");       \r
 -    \r
 -      makefile.writeLine("\n# Common Macros used in make");  \r
 -      makefile.writeLine("\nifndef RM");     \r
 -      makefile.writeLine("export RM = rm -f");\r
 -      makefile.writeLine("endif");        \r
 -    \r
 -      makefile.writeLine("\nifndef CP");     \r
 -      makefile.writeLine("export CP = cp -p");    \r
 -      makefile.writeLine("endif");    \r
 -        \r
 -      makefile.writeLine("\nexport MKDIR = mkdir -p");\r
 -    \r
 -      makefile.writeLine("\nifndef RMDIR");         \r
 -      makefile.writeLine("export RMDIR = rm -rf");\r
 -      makefile.writeLine("endif");        \r
 -    \r
 -      makefile.writeLine("\nifndef SED"); \r
 -      makefile.writeLine("export SED = sed");    \r
 -      makefile.writeLine("endif");    \r
 -    \r
 -      makefile.writeLine("\nifndef MAKE"); \r
 -      makefile.writeLine("export MAKE = make");    \r
 -      makefile.writeLine("endif");        \r
 -\r
 -      makefile.writeLine("\n# PHONY Targets");                \r
 -      makefile.writeLine(".PHONY: all clean cleanall ");    \r
 -      \r
 -      makefile.writeLine("\n# FORCE Targets");                \r
 -      makefile.writeLine("FORCE: ");          \r
 -      \r
 -      makefile.writeLine("\n# all rule");                \r
 -      makefile.writeLine("all: .executables");           \r
 -      makefile.writeLine(".executables: .libraries");\r
 -      makefile.writeLine(".libraries:");\r
 -      \r
 -      makefile.writeLine("\n# Clean Rule");          \r
 -      makefile.writeLine("clean:: clean_package");                  \r
 -      makefile.writeLine("# Clean Top Level Object Directory ");          \r
 -      makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/");      \r
 -      makefile.writeLine("\t$(RMDIR) package/cfg");            \r
 -   }\r
 -   else\r
 -   {\r
 -     try{\r
 -          makefile = fileModule.open("makefile", "a");\r
 -         } catch (ex)\r
 -         {\r
 -           print("makefile cannot be written to. Please check Writing Permissions.");\r
 -           java.lang.System.exit(1);\r
 -         }  \r
 -    \r
 -    }\r
 -\r
 - return makefile;\r
 -}\r
 -\r
 -function createLibMake(makelibname,targetname, objectPath)\r
 -{\r
 -   var tooldir;\r
 -   var stringname=String(targetname).replace("(xdc.bld.ITarget.Module)","");\r
 -   if(stringname.match("ARM11"))\r
 -   {\r
 -     tooldir="TI_ARM11_GEN_INSTALL_PATH"; \r
 -   }\r
 -   else\r
 -   {\r
 -     tooldir="C6X_GEN_INSTALL_PATH";\r
 -   }\r
 -   switch(stringname)\r
 -   {\r
 -    case String(C66LE):\r
 -      targetname=C66LE;\r
 -      break;\r
 -    case String(C66BE):\r
 -      targetname=C66BE;\r
 -      break;\r
 -\r
 -   }\r
 -    var fileModule = xdc.module('xdc.services.io.File');\r
 -    try{\r
 -     var dstFile = new java.io.File(makelibname);\r
 -     dstFile.getParentFile().mkdirs();    \r
 -     libmakefile = fileModule.open(makelibname, "w");\r
 -     /* Add to Archive list */\r
 -    } catch (ex)\r
 -    {\r
 -     print(makelibname+" cannot be written to. Please check Writing Permissions.");\r
 -     java.lang.System.exit(1);\r
 -    }   \r
 -    libmakefile.writeLine("#*******************************************************************************");\r
 -    libmakefile.writeLine("#* FILE PURPOSE: Lower level makefile for Creating Component Libraries");\r
 -    libmakefile.writeLine("#*******************************************************************************");\r
 -    libmakefile.writeLine("#* FILE NAME: "+makelibname);\r
 -    libmakefile.writeLine("#*");\r
 -    libmakefile.writeLine("#* DESCRIPTION: Defines Source Files, Compilers flags and build rules");\r
 -    libmakefile.writeLine("#*");\r
 -    libmakefile.writeLine("#*");\r
 -    libmakefile.writeLine("#*******************************************************************************");\r
 -    libmakefile.writeLine("#");\r
 -    libmakefile.writeLine("");\r
 -    libmakefile.writeLine("#");\r
 -    libmakefile.writeLine("# Macro definitions referenced below");\r
 -    libmakefile.writeLine("#");\r
 -    libmakefile.writeLine("empty =");\r
 -    libmakefile.writeLine("space =$(empty) $(empty)");\r
 -        \r
 -    if(stringname.match("ti.targets"))\r
 -    {\r
 -\r
 -       var rtslibtemp = targetname.lnkOpts.suffix.toString().split("/");\r
 -       var rtslib;\r
 -       for(n=0;n<rtslibtemp.length;n++)\r
 -       {\r
 -          if(rtslibtemp[n].match(".lib"))\r
 -          { \r
 -             rtslib=rtslibtemp[n];\r
 -          }\r
 -       }\r
 -\r
 -      libmakefile.writeLine("CC = $("+tooldir+")/bin/"+targetname.cc.cmd +" "+targetname.ccOpts.prefix+" "+targetname.cc.opts);\r
 -      libmakefile.writeLine("AC = $("+tooldir+")/bin/"+targetname.asm.cmd +" "+targetname.asmOpts.prefix+" "+targetname.asm.opts);    \r
 -      libmakefile.writeLine("ARIN = $("+tooldir+")/bin/"+targetname.ar.cmd +" "+targetname.ar.opts);    \r
 -      libmakefile.writeLine("LD = $("+tooldir+")/bin/"+targetname.lnk.cmd +" "+targetname.lnk.opts);   \r
 -      libmakefile.writeLine("RTSLIB = -l $("+tooldir+")/lib/"+rtslib);        \r
 -    }\r
 -    else\r
 -    {\r
 -      print("Error: Non-TI targets are not currently supported ");\r
 -      java.lang.System.exit(1);\r
 -\r
 -    }\r
 -      \r
 -        libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");\r
 -    libmakefile.writeLine("OBJEXT = o"+targetname.suffix); \r
 -    libmakefile.writeLine("AOBJEXT = s"+targetname.suffix);     \r
 -    /* libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -Dxdc_target_types__=ti/targets/std.h -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");*/\r
 -    libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+"  -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");\r
 -    libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");\r
 -    libmakefile.writeLine("OBJDIR =  $(LIBDIR)/obj"); \r
 -   \r
 - return libmakefile;\r
 -\r
 -}\r
 -\r
 -function makeAddObjects(srcString, makefilename, srcfiles, flags,fileExt, targetName)\r
 -{\r
 -  var  sourcestring = (srcString + fileExt).toString().toUpperCase();\r
 -  var  compileflagstring = sourcestring + "FLAGS";\r
 -  var  objectliststring = sourcestring + "OBJS";\r
 -  /* List all the source files */\r
 -  makefilename.writeLine("\n#List the "+srcString+" Files");  \r
 -  makefilename.writeLine(sourcestring + "= \\");\r
 -  for(var i=0;i<srcfiles.length-1;i++)\r
 -  {\r
 -    makefilename.writeLine("    "+srcfiles[i]+"\\");\r
 -  }\r
 -    makefilename.writeLine("    "+srcfiles[i]+"\n");\r
 -    \r
 - /* Flags for the source files */\r
 - makefilename.writeLine("# FLAGS for the "+srcString+" Files"); \r
 - var compileflags="";\r
 - if(fileExt == "asm" && flags.aopts != undefined)\r
 - {\r
 -   compileflags+=" "+flags.aopts;\r
 - }\r
 - else if((fileExt == "c" || fileExt == "sa")&& flags.copts != undefined)\r
 - {\r
 -   compileflags+=" "+flags.copts;\r
 - } \r
 -\r
 - if(flags.incs != undefined)\r
 - {\r
 -   compileflags+=" "+flags.incs;\r
 - }\r
 -\r
 -\r
 - makefilename.writeLine(compileflagstring+" = "+compileflags +" \n");     \r
 - makefilename.writeLine("# Make Rule for the "+srcString+" Files");  \r
 - \r
 - makefilename.writeLine(objectliststring +" = $(patsubst %."+fileExt+", $(OBJDIR)/%.$(OBJEXT), $(" + sourcestring + "))"); \r
 - makefilename.writeLine("\n$("+objectliststring+"): $(OBJDIR)/%.$(OBJEXT): %."+fileExt);   \r
 - if(fileExt == "c")\r
 - { \r
 -   makefilename.writeLine("\t-@echo cl"+targetName.suffix +" $< ...");     \r
 - }\r
 - else\r
 - {\r
 -   makefilename.writeLine("\t-@echo asm"+targetName.suffix +" $< ...");      \r
 - }\r
 - makefilename.writeLine("\tif [ ! -d $(@D) ]; then $(MKDIR) $(@D) ; fi;");           \r
 - \r
 - if(fileExt == "c")\r
 - {\r
 -   makefilename.writeLine("\t$(RM) $@.dep");\r
 -   makefilename.writeLine("\t$(CC) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) -fc $< ");\r
 -   makefilename.writeLine("\t-@$(CP) $@.dep $@.pp; \\");\r
 -   makefilename.writeLine("         $(SED) -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\");\r
 -   makefilename.writeLine("             -e '/^$$/ d' -e 's/$$/ :/' < $@.pp >> $@.dep; \\");\r
 -   makefilename.writeLine("         $(RM) $@.pp ");\r
 - }\r
 - else if(fileExt == "asm")\r
 - {\r
 -   makefilename.writeLine("\t$(AC) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) -fa $< ");\r
 - }\r
 - else if(fileExt == "sa")\r
 - {\r
 -   makefilename.writeLine("\t$(AC) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) $< ");\r
 - }\r
 -   makefilename.writeLine("\n#Create Empty rule for dependency");\r
 -   makefilename.writeLine("$("+objectliststring+"):"+makefilename.$private.fd);\r
 -   makefilename.writeLine(makefilename.$private.fd+":");\r
 -   makefilename.writeLine("\n#Include Depedency for "+srcString+" Files");\r
 -   makefilename.writeLine("ifneq (clean,$(MAKECMDGOALS))");\r
 -   makefilename.writeLine(" -include $("+objectliststring+":%.$(OBJEXT)=%.$(OBJEXT).dep)");\r
 -   makefilename.writeLine("endif");\r
 - \r
 -}\r
 -\r
 -/**************************************************************************\r
 - * FUNCTION NAME : buildLibrary\r
 - **************************************************************************\r
 - * DESCRIPTION   :\r
 - *  Utility function which will build a specific library\r
 - **************************************************************************/\r
 -var makefilelocal;\r
 -function buildLibrary (libOptions, libName, target, libFiles) \r
 -{\r
 -    var lldFullLibraryPath = "./lib/c66/" + libName;\r
 -    var lldFullBuildPath = "./build/c66/" + libName;\r
 -    var lldFullLibraryPathMake = "$(LIBDIR)/" + "c66/" + libName;\r
 -\r
 -    /* Create Main make file in the root of package folder */\r
 -    makefilelocal = createMake(makefilelocal);\r
 -\r
 -    /* Write the rule to make library in main makefile */\r
 -    lib = lldFullBuildPath+".a"+target.suffix;\r
 -    libMake = lldFullLibraryPathMake+".a"+target.suffix;\r
 -    var objectPath= "./package/"+lldFullBuildPath;\r
 -    makefilelocal.writeLine("\n\n# Make rule to create "+libMake+" library");\r
 -    makefilelocal.writeLine(".libraries: "+ libMake);\r
 -    makefilelocal.writeLine(libMake+": FORCE\n\t$(MAKE) -f "+lib+".mk $@");                                 \r
 -\r
 -    /* Create Library make file in the lib folder */\r
 -    var makefilelib= createLibMake(lib+".mk",target,objectPath);  \r
 -\r
 -    /* Rule to clean library in main makefile */\r
 -    makefilelocal.writeLine("# Rule to clean "+libMake+" library");                                              \r
 -    makefilelocal.writeLine("clean ::\n\t$(RM) "+ libMake);                                          \r
 -    librule="\n\n"+libMake+" :";\r
 -\r
 -    /* Add files to be compiled */\r
 -    /* Separate out the C and assembly files */\r
 -    var cfiles= new Array();\r
 -    var afiles= new Array();\r
 -    var safiles= new Array();\r
 -    for each(var srcFile in libFiles)\r
 -    {\r
 -        var srcFile=String(srcFile);\r
 -        var dot = srcFile.lastIndexOf(".");\r
 -        var extension = srcFile.substr(dot,srcFile.length);      \r
 -        if(extension == ".c")\r
 -        {\r
 -          cfiles.push(srcFile);\r
 -        }\r
 -        else if(extension == ".sa")\r
 -        {\r
 -          safiles.push(srcFile);\r
 -        }\r
 -        else if(extension == ".asm")\r
 -        {\r
 -           afiles.push(srcFile);\r
 -        }\r
 -        else\r
 -        {\r
 -           print("ERROR: Unsupported file extension");\r
 -           java.lang.System.exit(1);\r
 -        }\r
 -     }\r
 -    if(cfiles.length > 0)\r
 -    {                                                \r
 -      makeAddObjects("COMMONSRC",makefilelib,cfiles,libOptions,"c",target);\r
 -      librule += " $(COMMONSRCCOBJS)";                   \r
 -    }\r
 -    if(afiles.length > 0)\r
 -    {                                                \r
 -      makeAddObjects("COMMONSRC",makefilelib,afiles,libOptions,"asm",target);\r
 -      librule += " $(COMMONSRCASMOBJS)";                   \r
 -    }\r
 -    if(safiles.length > 0)\r
 -    {                                                \r
 -      makeAddObjects("COMMONSRC",makefilelib,safiles,libOptions,"sa",target);\r
 -      librule += " $(COMMONSRCSAOBJS)";                   \r
 -    }\r
 -\r
 -    makefilelib.writeLine(librule);\r
 -    makefilelib.writeLine("\t@echo archiving $? into $@ ...");\r
 -    makefilelib.writeLine("\tif [ ! -d $(LIBDIR)/c66 ]; then $(MKDIR) $(LIBDIR)/c66 ; fi;"); \r
 -              makefilelib.writeLine("\t$(ARIN) $@ $?");\r
 -              makefilelib.close();   \r
 -\r
 -    /* Create the Epilogue; which executes after all the builds are completed. \r
 -     * This is used to generate the benchmark information for the built library. \r
 -     * Also add the benchmarking information file to the package. */\r
 -\r
 -    /* Put the temp file in object directory since javascript doesn't have a built in tmpname, \r
 -     * and don't want --jobs=# with # > 1 to result in collisions */\r
 -    var libFullName = lldFullLibraryPath + ".a" + target.suffix;\r
 -    var tempFile = libFullName + ".xml";\r
 -    Pkg.makeEpilogue += ".libraries: " + libFullName +  "_size.txt\n";\r
 -    Pkg.makeEpilogue += libFullName +  "_size.txt: " + libFullName + "\n";\r
 -    if ( java.lang.String(target.name).contains('66') )\r
 -    {    \r
 -        Pkg.makeEpilogue += "\n\t $(C6X_GEN_INSTALL_PATH)/bin/ofd6x -x " + libFullName + " > " + tempFile;\r
 -        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
 -        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
 -    }   \r
 -    else if (target.name == "M4")\r
 -    {\r
 -        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_M4)/bin/armofd -x " + libFullName + " > " + tempFile;\r
 -        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
 -        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
 -    }\r
 -    else\r
 -    {\r
 -        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)size " + libFullName + " > " + libFullName + "_size.txt";\r
 -    }                \r
 -    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix + "_size.txt";\r
 -    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullBuildPath + ".a" + target.suffix + ".mk";\r
 -    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix;\r
 -\r
 -    /* We need to clean after ourselves; extend the 'clean' target to take care of this. */\r
 -    Pkg.makeEpilogue += "clean::\n";\r
 -    Pkg.makeEpilogue += "\t$(RM) " + lldFullBuildPath + ".a" + target.suffix + "_size.txt\n";    \r
 -    Pkg.makeEpilogue += "\t$(RMDIR) " + "$(LIBDIR)/" + "c66/ \n\n";\r
 -\r
 -    return lib;\r
 -}\r
 -\r
 -/**************************************************************************\r
 - * FUNCTION NAME : createMiniPkg\r
 - **************************************************************************\r
 - * DESCRIPTION   :\r
 - *  The function is responsible for creating the mini tar package\r
 - *  The MINI package has the following files:- \r
 - *      - Driver Source Files. \r
 - *      - Header files (exported and internal driver files) \r
 - *      - Simple Makefiles. \r
 - **************************************************************************/\r
 -function createMiniPkg(pkgName)\r
 -{\r
 -    /* Get the package Name. */\r
 -    var packageRepository = xdc.getPackageRepository(Pkg.name);\r
 -    var packageBase       = xdc.getPackageBase(Pkg.name);\r
 -    var packageName       = packageBase.substring(packageRepository.length + 1);\r
 -\r
 -    /* Convert the Package name by replacing back slashes with forward slashes. This is required because\r
 -     * otherwise with long names the tar is unable to change directory. */\r
 -    var newPkgName = new java.lang.String(packageRepository);\r
 -    var newPkgRep  = newPkgName.replace('\\', '/');\r
 -\r
 -    /* Step1: Create the MINI Package and add the simple Big and Little Endian Makefiles to the package */\r
 -    Pkg.makeEpilogue += "release: mini_pkg\n";\r
 -    Pkg.makeEpilogue += "mini_pkg:\n";\r
 -    Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -cf packages/" + pkgName + "_mini.tar " + \r
 -                        packageName + "simpleC66LE.mak " + packageName + "simpleC66BE.mak\n";\r
 -                        \r
 -\r
 -    /* Step2: Add the exported header files to the package */\r
 -    var includeFiles = libUtility.listAllFiles (".h", ".", false);\r
 -    for (var k = 0 ; k < includeFiles.length; k++)\r
 -        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
 -                        packageName + includeFiles[k] + "\n";\r
 -\r
 -    /* Step3: Add the internal header files to the package */\r
 -    includeFiles = libUtility.listAllFiles (".h", "include", true);\r
 -    for (var k = 0 ; k < includeFiles.length; k++)\r
 -        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
 -                        packageName + includeFiles[k] + "\n";\r
 -\r
 -    /* Step4: Add the PDSP firmware files to the package */\r
 -    includeFiles = libUtility.listAllFiles (".h", "firmware", true);\r
 -    for (var k = 0 ; k < includeFiles.length; k++)\r
 -        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
 -                        packageName + includeFiles[k] + "\n";\r
 -\r
 -    /* Step5: Add the device specific files to the package */\r
 -    includeFiles = libUtility.listAllFiles (".c", "device", true);\r
 -    for (var k = 0 ; k < includeFiles.length; k++)\r
 -        Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -rf packages/" + pkgName + "_mini.tar " + \r
 -                        packageName + includeFiles[k] + "\n";\r
 -\r
 -    /* Step4: Add the driver source files to the package; the filter should have generated a source listing */\r
 -    Pkg.makeEpilogue += "\t tar -C " + "\"" + newPkgRep + "\"" + " -T src.lst -rf packages/" + pkgName + "_mini.tar " + "\n";\r
 -\r
 -    /* Ensure that we clean up the mini package */\r
 -    Pkg.makeEpilogue += "clean::\n";\r
 -    Pkg.makeEpilogue += "\t $(RM) packages/" + pkgName + "_mini.tar\n";\r
 -}\r
 -\r
 -\r
 +/******************************************************************************
 + * FILE PURPOSE: Build Library Utilities
 + ******************************************************************************
 + * FILE NAME: buildlib.xs
 + *
 + * DESCRIPTION: 
 + *  This file contains common routines that are used by the various RM 
 + *  components.
 + *
 + * Copyright (C) 2012-2015, Texas Instruments, Inc.
 + *****************************************************************************/
 +
 +/**************************************************************************
 + * FUNCTION NAME : listAllFiles
 + **************************************************************************
 + * DESCRIPTION   :
 + *  Utility function which lists all files with a specific extension 
 + *  present in a directory and any directory inside it.
 + **************************************************************************/
 +function listAllFiles(ext, dir, recurse)
 +{     
 +    var srcFile = [];
 +    var d;
 +
 +    /* If recurse parameter is not specified we default to recursive search. */
 +    if (recurse == null)
 +        recurse = true;
 +
 +    if (dir == undefined) 
 +          d = ".";
 +    else 
 +      d = dir;
 +
 +    /* Get access to the current directory. */
 +    var file = new java.io.File(d);
 +
 +    /* Check if the file exists and it is a directory. */
 +    if (file.exists() && file.isDirectory()) 
 +    {
 +        /* Get a list of all files in the specific directory. */
 +        var fileList = file.listFiles();
 +        for (var i = 0; i < fileList.length; i++) 
 +        {
 +            /* Dont add the generated directory 'package' and any of its files 
 +             * to the list here. */
 +            if (fileList[i].getName().matches("package") == false)
 +            {
 +                /* Check if the detected file is a directory */
 +                if (fileList[i].isDirectory())
 +                {
 +                    /* We will recurse into the subdirectory only if required to do so. */
 +                    if (recurse == true)
 +                    {
 +                        /* Generate the directory Name in which we will recurse. */ 
 +                        var directoryName = d + "/" + fileList[i].getName();
 +
 +                        /* Get a list of all files in this directory */
 +                        var fileListing = listAllFiles (ext, directoryName, recurse);
 +                        if (fileListing != null)
 +                        {
 +                            /* Return a list of all file names in the directory. */
 +                            for (var j = 0 ; j < fileListing.length; j++) 
 +                                srcFile[srcFile.length++] = fileListing[j];
 +                        }
 +                    }
 +                }
 +                else
 +                {
 +                    /* This was a file. Check if the file name matches the extension */
 +                    if (fileList[i].getName().endsWith(ext) == true)
 +                        srcFile[srcFile.length++] = d + "/" + fileList[i].getName();
 +                }
 +            }
 +        }
 +
 +        return srcFile;
 +    }
 +    return null;
 +}
 +
 +
 +function createMake(makefile)
 +{
 +    /* Create the main make file */
 +    var fileModule = xdc.module('xdc.services.io.File');
 +    if(makefile==undefined)
 +    {
 +      try{
 +          makefile = fileModule.open("makefile", "w");
 +         } catch (ex)
 +         {
 +           print("makefile cannot be written to. Please check Writing Permissions.");
 +           java.lang.System.exit(1);
 +         }   
 +    
 +      Pkg.makePrologue += "\ninclude makefile\n"; 
 +         
 +      Pkg.makeEpilogue += "\nclean::\n\t-$(RM)  makefile\n";
 +      makefile.writeLine("#*******************************************************************************");
 +      makefile.writeLine("#* FILE PURPOSE: Top level makefile for Creating Component Libraries");
 +      makefile.writeLine("#*******************************************************************************");
 +      makefile.writeLine("#* FILE NAME: makefile");
 +      makefile.writeLine("#*");
 +      makefile.writeLine("#* DESCRIPTION: Defines Compiler tools paths, libraries , Build Options ");
 +      makefile.writeLine("#*");
 +      makefile.writeLine("#*");
 +      makefile.writeLine("#*******************************************************************************");
 +      makefile.writeLine("#*");
 +      makefile.writeLine("# (Mandatory) Specify where various tools are installed.");
 +
 +      var file = xdc.module('xdc.services.io.File');
 +    
 +      
 +      makefile.writeLine("\n# Output for prebuilt generated libraries");
 +      makefile.writeLine("export LIBDIR ?= ./lib");
 +      /* use sectti.exe from path */
 +      makefile.writeLine("export SECTTI ?= sectti");
 +
 +      /* Create INCDIR from XDCPATH */
 +    
 +      /* copy the environment array from the current environment */
 +      var env   = java.lang.System.getenv();
 +      var getxdcpath=String(java.lang.System.getenv("XDCPATH"));
 +      getxdcpath= getxdcpath.replace(/\\/g,"/");
 +      var keys  = env.keySet().toArray();
 +      var key;
 +      var stat={};
 +      var env_j=[];
 +      var listxdcpath = new Array();
 +      for (var i = 0; i < keys.length; i++) {
 +           key = String(keys[i]);
 +           if((key.match("INSTALL_PATH")) || (key.match("INSTALLDIR")))
 +           {
 +             var keyPath=String(env.get(key));
 +             keyPath=keyPath.replace(/\\/g,"/");
 +             var file = xdc.module('xdc.services.io.File');
 +             keyPath=file.getDOSPath(keyPath);
 +             if(getxdcpath.toString().match(keyPath))
 +             {
 +                 listxdcpath.push({keyname: key,keypath: keyPath});
 +                 while(getxdcpath.toString().match(keyPath))
 +                 {
 +                   getxdcpath=getxdcpath.toString().replace(keyPath,"$("+key+")");
 +                 }
 +             }
 +           }
 +    
 +     }
 +       var pkgroot="..";
 +       for (var i = Pkg.name.split('.').length; i > 1; i--) {
 +              pkgroot+="/..";
 +          }
 +        
 +      makefile.writeLine("\n# ROOT Directory");        
 +      makefile.writeLine("export ROOTDIR := "+pkgroot);
 +    
 +      makefile.writeLine("\n# INCLUDE Directory");
 +      makefile.writeLine("export INCDIR := "+getxdcpath+";$(ROOTDIR)");       
 +    
 +      makefile.writeLine("\n# Common Macros used in make");  
 +      makefile.writeLine("\nifndef RM");     
 +      makefile.writeLine("export RM = rm -f");
 +      makefile.writeLine("endif");        
 +    
 +      makefile.writeLine("\nifndef CP");     
 +      makefile.writeLine("export CP = cp -p");    
 +      makefile.writeLine("endif");    
 +        
 +      makefile.writeLine("\nexport MKDIR = mkdir -p");
 +    
 +      makefile.writeLine("\nifndef RMDIR");         
 +      makefile.writeLine("export RMDIR = rm -rf");
 +      makefile.writeLine("endif");        
 +    
 +      makefile.writeLine("\nifndef SED"); 
 +      makefile.writeLine("export SED = sed");    
 +      makefile.writeLine("endif");    
 +    
 +      makefile.writeLine("\nifndef MAKE"); 
 +      makefile.writeLine("export MAKE = make");    
 +      makefile.writeLine("endif");        
 +
 +      makefile.writeLine("\n# PHONY Targets");                
 +      makefile.writeLine(".PHONY: all clean cleanall ");    
 +      
 +      makefile.writeLine("\n# FORCE Targets");                
 +      makefile.writeLine("FORCE: ");          
 +      
 +      makefile.writeLine("\n# all rule");                
 +      makefile.writeLine("all: .executables");           
 +      makefile.writeLine(".executables: .libraries");
 +      makefile.writeLine(".libraries:");
 +      
 +      makefile.writeLine("\n# Clean Rule");          
 +      makefile.writeLine("clean:: clean_package");                  
 +      makefile.writeLine("# Clean Top Level Object Directory ");          
 +      makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/");  
 +      makefile.writeLine("\t$(RMDIR) package/cfg");            
 +   }
 +   else
 +   {
 +     try{
 +          makefile = fileModule.open("makefile", "a");
 +         } catch (ex)
 +         {
 +           print("makefile cannot be written to. Please check Writing Permissions.");
 +           java.lang.System.exit(1);
 +         }  
 +    
 +    }
 +
 + return makefile;
 +}
 +
 +function createLibMake(device, makelibname,targetname, objectPath)
 +{
 +   var tooldir;
 +   var cmdprefix;
 +   var targetDir;
 +   var stringname=String(targetname).replace("(xdc.bld.ITarget.Module)","");
 +   
 +   switch(stringname)
 +   {
 +    case String(C66LE):
 +      tooldir="C6X_GEN_INSTALL_PATH";
 +      cmdprefix="";
 +      targetDir="c66";
 +      targetname=C66LE;
 +      break;
 +    case String(C66BE):
 +      tooldir="C6X_GEN_INSTALL_PATH";
 +      cmdprefix="";
 +      targetDir="c66";
 +      targetname=C66BE;
 +      break;
 +    case String(A15LE):
 +      tooldir="TOOLCHAIN_PATH_A15"; 
 +      cmdprefix="CROSS_TOOL_PRFX";
 +      targetDir="armv7";
 +      targetname=A15LE;
 +      break;
 +    case String(A9LE):
 +      tooldir="TOOLCHAIN_PATH_A9";
 +      cmdprefix="CROSS_TOOL_PRFX";
 +      targetDir="armv7";
 +      targetname=A9LE;
 +      break;
 +    case String(A8LE):
 +      tooldir="TOOLCHAIN_PATH_A8";
 +      cmdprefix="CROSS_TOOL_PRFX";
 +      targetDir="armv7";
 +      targetname=A8LE;
 +      break;
 +    case String(M4LE):
 +      tooldir="TOOLCHAIN_PATH_M4";
 +      cmdprefix="";
 +      targetDir="m4";
 +      targetname=M4LE;
 +      break;
 +   }
 +
 +    var fileModule = xdc.module('xdc.services.io.File');
 +    try{
 +     var dstFile = new java.io.File(makelibname);
 +     dstFile.getParentFile().mkdirs();    
 +     libmakefile = fileModule.open(makelibname, "w");
 +     /* Add to Archive list */
 +    } catch (ex)
 +    {
 +     print(makelibname+" cannot be written to. Please check Writing Permissions.");
 +     java.lang.System.exit(1);
 +    }   
 +    libmakefile.writeLine("#*******************************************************************************");
 +    libmakefile.writeLine("#* FILE PURPOSE: Lower level makefile for Creating Component Libraries");
 +    libmakefile.writeLine("#*******************************************************************************");
 +    libmakefile.writeLine("#* FILE NAME: "+makelibname);
 +    libmakefile.writeLine("#*");
 +    libmakefile.writeLine("#* DESCRIPTION: Defines Source Files, Compilers flags and build rules");
 +    libmakefile.writeLine("#*");
 +    libmakefile.writeLine("#*");
 +    libmakefile.writeLine("#*******************************************************************************");
 +    libmakefile.writeLine("#");
 +    libmakefile.writeLine("");
 +    libmakefile.writeLine("#");
 +    libmakefile.writeLine("# Macro definitions referenced below");
 +    libmakefile.writeLine("#");
 +    libmakefile.writeLine("empty =");
 +    libmakefile.writeLine("space =$(empty) $(empty)");
 +        
 +    if ((targetname.name == "A15F") || (targetname.name == "A9F") || (targetname.name == "A8F"))
 +    {
 +    
 +        if(stringname.match("gnu.targets"))
 +        {
 +            libmakefile.writeLine("CC = $("+tooldir+")/bin/$("+cmdprefix+")gcc");
 +            libmakefile.writeLine("AC = $("+tooldir+")/bin/$("+cmdprefix+")as");    
 +            libmakefile.writeLine("ARIN = $("+tooldir+")/bin/$("+cmdprefix+")ar");    
 +            libmakefile.writeLine("LD = $("+tooldir+")/bin/$("+cmdprefix+")gcc");   
 +        }
 +        else
 +        {
 +            print("Error: Non-GNU targets are not currently supported ");
 +            java.lang.System.exit(1);
 +
 +        }
 +      
 +        libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");
 +        libmakefile.writeLine("OBJEXT = o"+targetname.suffix); 
 +        libmakefile.writeLine("AOBJEXT = s"+targetname.suffix);     
 +        libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts);
 +        libmakefile.writeLine("ASFLAGS_INTERNAL = " +targetname.asmOpts.prefix+" "+targetname.asm.opts);
 +        libmakefile.writeLine("ARFLAGS_INTERNAL = " +targetname.ar.opts);
 +        libmakefile.writeLine("LNKFLAGS_INTERNAL = " +targetname.lnk.opts);
 +        libmakefile.writeLine("INTERNALDEFS = -MD -MF $@.dep");
 +        libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");  /* TBD */
 +        libmakefile.writeLine("OBJDIR =  $(LIBDIR)/" + device.toString() + "/" + targetDir +"/obj"); 
 +    
 +    }
 +    else
 +    {
 +  
 +        if(stringname.match("ti.targets"))
 +        {
 +
 +            var rtslibtemp = targetname.lnkOpts.suffix.toString().split("/");
 +            var rtslib;
 +            for(n=0;n<rtslibtemp.length;n++)
 +            {
 +                if(rtslibtemp[n].match(".lib"))
 +                { 
 +                    rtslib=rtslibtemp[n];
 +                }
 +            }
 +
 +            libmakefile.writeLine("CC = $("+tooldir+")/bin/"+targetname.cc.cmd);
 +            libmakefile.writeLine("AC = $("+tooldir+")/bin/"+targetname.asm.cmd);    
 +            libmakefile.writeLine("ARIN = $("+tooldir+")/bin/"+targetname.ar.cmd);    
 +            libmakefile.writeLine("LD = $("+tooldir+")/bin/"+targetname.lnk.cmd);   
 +            libmakefile.writeLine("RTSLIB = -l $("+tooldir+")/lib/"+rtslib);        
 +        }
 +        else
 +        {
 +            print("Error: Non-TI targets are not currently supported ");
 +            java.lang.System.exit(1);
 +
 +        }
 +      
 +        libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");
 +        libmakefile.writeLine("OBJEXT = o"+targetname.suffix); 
 +        libmakefile.writeLine("AOBJEXT = s"+targetname.suffix);     
 +        libmakefile.writeLine("CFLAGS_INTERNAL = " +targetname.ccOpts.prefix+" "+targetname.cc.opts);
 +        libmakefile.writeLine("ASFLAGS_INTERNAL = " +targetname.asmOpts.prefix+" "+targetname.asm.opts);
 +        libmakefile.writeLine("ARFLAGS_INTERNAL = " +targetname.ar.opts);
 +        libmakefile.writeLine("LNKFLAGS_INTERNAL = " +targetname.lnk.opts);
 +        /* libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -Dxdc_target_types__=ti/targets/std.h -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");*/
 +        libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+"  -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");
 +        libmakefile.writeLine("INTERNALLINKDEFS = -o $@ -m $@.map");
 +        libmakefile.writeLine("OBJDIR =  $(LIBDIR)/" + device.toString() + "/" + targetDir +"/obj"); 
 +    }     
 +   
 + return libmakefile;
 +
 +}
 +
 +function makeAddObjects(srcString, makefilename, srcfiles, flags,fileExt, targetName, objDir)
 +{
 +  var  sourcestring = (srcString + fileExt).toString().toUpperCase();
 +  var  compileflagstring = sourcestring + "FLAGS";
 +  var  objectliststring = sourcestring + "OBJS";
 +  /* List all the source files */
 +  makefilename.writeLine("\n#List the "+srcString+" Files");  
 +  makefilename.writeLine(sourcestring + "= \\");
 +  for(var i=0;i<srcfiles.length-1;i++)
 +  {
 +    makefilename.writeLine("    "+srcfiles[i]+"\\");
 +  }
 +    makefilename.writeLine("    "+srcfiles[i]+"\n");
 +    
 + /* Flags for the source files */
 + makefilename.writeLine("# FLAGS for the "+srcString+" Files"); 
 + var compileflags="";
 + if(fileExt == "asm" && flags.aopts != undefined)
 + {
 +   compileflags+=" "+flags.aopts;
 + }
 + else if((fileExt == "c" || fileExt == "sa")&& flags.copts != undefined)
 + {
 +   compileflags+=" "+flags.copts;
 + } 
 +
 + if(flags.incs != undefined)
 + {
 +   compileflags+=" "+flags.incs;
 + }
 +
 +
 + makefilename.writeLine(compileflagstring+" = "+compileflags +" \n");     
 + makefilename.writeLine("# Make Rule for the "+srcString+" Files");  
 + 
 + makefilename.writeLine(objectliststring +" = $(patsubst %."+fileExt+", "+objDir+"/%.$(OBJEXT), $(" + sourcestring + "))"); 
 + makefilename.writeLine("\n$("+objectliststring+"): "+objDir+"/%.$(OBJEXT): %."+fileExt);   
 + if(fileExt == "c")
 + { 
 +   makefilename.writeLine("\t-@echo cl"+targetName.suffix +" $< ...");     
 + }
 + else
 + {
 +   makefilename.writeLine("\t-@echo asm"+targetName.suffix +" $< ...");      
 + }
 + makefilename.writeLine("\tif [ ! -d $(@D) ]; then $(MKDIR) $(@D) ; fi;");           
 + 
 + if(fileExt == "c")
 + {
 +   if ((targetName.name == "A15F") || (targetName.name == "A9F") || (targetName.name == "A8F"))
 +   {
 +    makefilename.writeLine("\t$(RM) $@.dep");
 +    makefilename.writeLine("\t$(CC) $(CFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) $< -o $@");
 +   /* 
 +    TBD
 +   */
 +   }
 +   else
 +   {
 +    makefilename.writeLine("\t$(RM) $@.dep");
 +    makefilename.writeLine("\t$(CC) $(CFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) -fc $< ");
 +    makefilename.writeLine("\t-@$(CP) $@.dep $@.pp; \\");
 +    makefilename.writeLine("         $(SED) -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\\\$$//' \\");
 +    makefilename.writeLine("             -e '/^$$/ d' -e 's/$$/ :/' < $@.pp >> $@.dep; \\");
 +    makefilename.writeLine("         $(RM) $@.pp ");
 +   }
 + }
 + else if(fileExt == "asm")
 + {
 +   makefilename.writeLine("\t$(AC) $(ASFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) -fa $< ");
 + }
 + else if(fileExt == "sa")
 + {
 +   makefilename.writeLine("\t$(AC) $(ASFLAGS_INTERNAL) $("+compileflagstring+") $(INTERNALDEFS) $(INCS) $< ");
 + }
 + 
 +   makefilename.writeLine("\n#Create Empty rule for dependency");
 +   makefilename.writeLine("$("+objectliststring+"):"+makefilename.$private.fd);
 +   makefilename.writeLine(makefilename.$private.fd+":");
 +   makefilename.writeLine("\n#Include Depedency for "+srcString+" Files");
 +   makefilename.writeLine("ifneq (clean,$(MAKECMDGOALS))");
 +   makefilename.writeLine(" -include $("+objectliststring+":%.$(OBJEXT)=%.$(OBJEXT).dep)");
 +   makefilename.writeLine("endif");
 + 
 +}
 +
 +/**************************************************************************
 + * FUNCTION NAME : buildLibrary
 + **************************************************************************
 + * DESCRIPTION   :
 + *  Utility function which will build a specific library
 + **************************************************************************/
 +var makefilelocal;
 +
 +function buildLibrary (socName, isSoc, libOptions, libName, target, libFiles) 
 +{
 +    var targetDir;
 +    var objExtDir;
 +    
 +
 +    if (target.name == "A15F")
 +    {
 +        targetDir = "armv7";
 +    }
 +    else if (target.name == "A9F")
 +    {
 +        targetDir = "armv7";
 +    }
 +    else if (target.name == "A8F")
 +
 +    {
 +        targetDir = "armv7";
 +    }
 +    else if (target.name == "M4")
 +    {
 +        targetDir = "m4";
 +    }
 +    else
 +    {
 +        targetDir = "c66";
 +    }
 +    
 +    /* Derive the operating system and soc names */
 +    if (isSoc == "true") {
 +        var libNameExp = libName+"."+socName;
 +        targetDir = socName+"/"+targetDir;
 +        objExtDir = "soc";
 +    }
 +    else  {
 +        var libNameExp = libName;
 +        objExtDir = "all";
 +    }
 +
 +
 +    var lldFullLibraryPath = "./lib/" + targetDir +"/" + libNameExp;
 +    var lldFullBuildPath = "./build/" + targetDir +"/" + libNameExp;
 +    var lldFullLibraryPathMake = "$(LIBDIR)/" + targetDir +"/" + libNameExp;
 +
 +    /* Create Main make file in the root of package folder */
 +    makefilelocal = createMake(makefilelocal);
 +
 +    /* Write the rule to make library in main makefile */
 +    lib = lldFullBuildPath+".a"+target.suffix;
 +    libMake = lldFullLibraryPathMake+".a"+target.suffix;
 +    var objectPath= "./package/"+lldFullBuildPath;
 +    makefilelocal.writeLine("\n\n# Make rule to create "+libMake+" library");
 +    makefilelocal.writeLine(".libraries: "+ libMake);
 +    makefilelocal.writeLine(libMake+": FORCE\n\t$(MAKE) -f "+lib+".mk $@");                                 
 +
 +    /* Create Library make file in the lib folder */
 +    var makefilelib= createLibMake(socName, lib+".mk",target,objectPath);  
 +
 +    /* Rule to clean library in main makefile */
 +    makefilelocal.writeLine("# Rule to clean "+libMake+" library");                                              
 +    makefilelocal.writeLine("clean ::\n\t$(RM) "+ libMake);                                          
 +    librule="\n\n"+libMake+" :";
 +
 +    /* Add files to be compiled */
 +    /* Separate out the C and assembly files */
 +    var cfiles= new Array();
 +    var afiles= new Array();
 +    var safiles= new Array();
 +    for each(var srcFile in libFiles)
 +    {
 +        var srcFile=String(srcFile);
 +        var dot = srcFile.lastIndexOf(".");
 +        var extension = srcFile.substr(dot,srcFile.length);      
 +        if(extension == ".c")
 +        {
 +          cfiles.push(srcFile);
 +        }
 +        else if(extension == ".sa")
 +        {
 +          safiles.push(srcFile);
 +        }
 +        else if(extension == ".asm")
 +        {
 +           afiles.push(srcFile);
 +        }
 +        else
 +        {
 +           print("ERROR: Unsupported file extension");
 +           java.lang.System.exit(1);
 +        }
 +     }
 +    if(cfiles.length > 0)
 +    {                                                
 +      makeAddObjects("COMMONSRC",makefilelib,cfiles,libOptions,"c",target, "$(OBJDIR)");
 +      librule += " $(COMMONSRCCOBJS)";                   
 +    }
 +    if(afiles.length > 0)
 +    {                                                
 +      makeAddObjects("COMMONSRC",makefilelib,afiles,libOptions,"asm",target, "$(OBJDIR)");
 +      librule += " $(COMMONSRCASMOBJS)";                   
 +    }
 +    if(safiles.length > 0)
 +    {                                                
 +      makeAddObjects("COMMONSRC",makefilelib,safiles,libOptions,"sa",target, "$(OBJDIR)");
 +      librule += " $(COMMONSRCSAOBJS)";                   
 +    }
 +
 +    makefilelib.writeLine(librule);
 +    makefilelib.writeLine("\t@echo archiving $? into $@ ...");
 +    makefilelib.writeLine("\tif [ ! -d $(LIBDIR)/" + targetDir + " ]; then $(MKDIR) $(LIBDIR)/" + targetDir + " ; fi;"); 
 +    makefilelib.writeLine("\t$(ARIN) $(ARFLAGS_INTERNAL) $@ $?");
 +    makefilelib.close();   
 +
 +    /* Create the Epilogue; which executes after all the builds are completed. 
 +     * This is used to generate the benchmark information for the built library. 
 +     * Also add the benchmarking information file to the package. */
 +
 +    /* Put the temp file in object directory since javascript doesn't have a built in tmpname, 
 +     * and don't want --jobs=# with # > 1 to result in collisions */
 +    var libFullName = lldFullLibraryPath + ".a" + target.suffix;
 +    var tempFile = libFullName + ".xml";
 +    Pkg.makeEpilogue += ".libraries: " + libFullName +  "_size.txt\n";
 +    Pkg.makeEpilogue += libFullName +  "_size.txt: " + libFullName + "\n";
 +    if ( java.lang.String(target.name).contains('66') )
 +    {    
 +        Pkg.makeEpilogue += "\n\t $(C6X_GEN_INSTALL_PATH)/bin/ofd6x -x " + libFullName + " > " + tempFile;
 +        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";
 +        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";
 +    }   
 +    else if (target.name == "M4")
 +    {
 +        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_M4)/bin/armofd -x " + libFullName + " > " + tempFile;
 +        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";
 +        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";
 +    }
 +    else
 +    {
 +        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)size " + libFullName + " > " + libFullName + "_size.txt";
 +    }                
 +    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix + "_size.txt";
 +    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullBuildPath + ".a" + target.suffix + ".mk";
 +    Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix;
 +
 +    /* We need to clean after ourselves; extend the 'clean' target to take care of this. */
 +    Pkg.makeEpilogue += "\nclean::\n";
 +    Pkg.makeEpilogue += "\t$(RM) " + lldFullBuildPath + ".a" + target.suffix + "_size.txt\n";    
 +    Pkg.makeEpilogue += "\t$(RMDIR) " + "$(LIBDIR)/" + targetDir + "/ \n\n";
 +
 +    return lib;
 +}
 +
 +
 +
diff --combined config.bld
index 05f7e2b5d833d9aa61bbc105eb272fc60b6ee517,dc67655c93a2252d6fdd42f8b3f03e2bfe96ac6b..fbce179df86cd2c46b546a242f655cbbe950a71e
mode 100644,100644..100755
@@@ -8,31 -8,11 +8,31 @@@
   *  and is responsible for configuration of the paths for the various tools\r
   *  required to build RM.\r
   *\r
 - * Copyright (C) 2012-2013, Texas Instruments, Inc.\r
 + * Copyright (C) 2012-2015, Texas Instruments, Inc.\r
   *****************************************************************************/\r
  \r
  /* Get the Tools Base directory from the Environment Variable. */\r
 -var toolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
 +var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
 +var m4ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_M4");\r
 +var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");\r
 +var a9ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A9");\r
 +var a8ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A8");\r
 +\r
 +/* Get the extended debug flags for C66x, \r
 + * did not change the name for backwards compatibilty */\r
 +var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");\r
 +\r
 +/* Get the extended debug flags for A15 */\r
 +var extDbgFlags_a15 = java.lang.System.getenv("EXTDBGFLAGS_A15");\r
 +\r
 +/* Get the extended debug flags for A8 */\r
 +var extDbgFlags_a8 = java.lang.System.getenv("EXTDBGFLAGS_A8");\r
 +\r
 +/* Get the extended debug flags for A9 */\r
 +var extDbgFlags_a9 = java.lang.System.getenv("EXTDBGFLAGS_A9");\r
 +\r
 +/* Get the extended debug flags for M4 */\r
 +var extDbgFlags_m4 = java.lang.System.getenv("EXTDBGFLAGS_M4");\r
  \r
  /* Get the base directory for the RM Package */\r
  var lldPath = new java.io.File(".//").getPath();\r
@@@ -43,7 -23,7 +43,7 @@@ var lldInstallType
  var lldPartNumber = java.lang.System.getenv("PARTNO");\r
  \r
  /* Include Path */\r
 -var lldIncludePath = " -i" + lldPath + "/src" + " -i" + lldPath  + " -i" + lldPath + "/test" + " -i" + lldPath + "/util/libfdt";\r
 +var lldIncludePath = " -I" + lldPath + "/src" + " -I" + lldPath  + " -I" + lldPath + "/test" + " -I" + lldPath + "/util/libfdt";\r
  \r
  /* Configure the RM Release Version Information */\r
  /* 3 steps: remove SPACE and TAB, convert to string and split to make array */\r
@@@ -55,45 -35,13 +55,45 @@@ var lldCoverityAnalysis = java.lang.Sys
  \r
  /* C66 ELF compiler configuration for Little Endian Mode. */\r
  var C66LE          = xdc.useModule('ti.targets.elf.C66');\r
 -C66LE.rootDir       = toolsBaseDir;\r
 +C66LE.rootDir       = c66ToolsBaseDir;\r
  C66LE.ccOpts.prefix  = "-mo -o3 --gcc -q -k -eo.o";\r
 +if(extDbgFlags)     \r
 +    C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags; \r
  \r
  /* C66 ELF compiler configuration for Big Endian Mode. */\r
  var C66BE          = xdc.useModule('ti.targets.elf.C66_big_endian');\r
 -C66BE.rootDir       = toolsBaseDir;\r
 +C66BE.rootDir       = c66ToolsBaseDir;\r
  C66BE.ccOpts.prefix  = "-mo -o3 --gcc -q -k -eo.o -DBIGENDIAN";\r
 +if(extDbgFlags)     \r
 +    C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags;\r
 +\r
 +/* ARMv7 A15 compiler configuration */\r
 +var A15LE            = xdc.useModule('gnu.targets.arm.A15F');\r
 +A15LE.rootDir        = a15ToolsBaseDir;\r
 +A15LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a15 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
 +if(extDbgFlags_a15)     \r
 +    A15LE.ccOpts.prefix = A15LE.ccOpts.prefix + " " + extDbgFlags_a15; \r
 +\r
 +/* ARMv7 A9 compiler configuration */\r
 +var A9LE            = xdc.useModule('gnu.targets.arm.A9F');\r
 +A9LE.rootDir        = a9ToolsBaseDir;\r
 +A9LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a9 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
 +if(extDbgFlags_a9)     \r
 +    A9LE.ccOpts.prefix = A9LE.ccOpts.prefix + " " + extDbgFlags_a9; \r
 +\r
 +/* ARMv7 A8 compiler configuration */\r
 +var A8LE            = xdc.useModule('gnu.targets.arm.A8F');\r
 +A8LE.rootDir        = a8ToolsBaseDir;\r
 +A8LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a8 -marm -DDRA7xx -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
 +if(extDbgFlags_a8)     \r
 +    A8LE.ccOpts.prefix = A8LE.ccOpts.prefix + " " + extDbgFlags_a8; \r
 +\r
 +/* M4 ELF compiler configuration for Little Endian Mode. */\r
 +var M4LE            = xdc.useModule('ti.targets.arm.elf.M4');\r
 +M4LE.rootDir        = m4ToolsBaseDir;\r
 +M4LE.ccOpts.prefix  = "-o4 -qq -pdsw255 -DMAKEFILE_BUILD";\r
 +if(extDbgFlags_m4)\r
 +    M4LE.ccOpts.prefix = M4LE.ccOpts.prefix + " " + extDbgFlags_m4; \r
  \r
  /* Check if we need to run the STATIC Analysis or not? */\r
  var coverityAnalysis = java.lang.System.getenv("STATIC_ANALYZE");\r
@@@ -146,167 -94,5 +146,180 @@@ if (miniBuild == "ON"
  \r
  }\r
  \r
 -/* List all the build targets here. */\r
 -Build.targets = [ C66LE, C66BE ];\r
 +/* Create the SoC List  */\r
 +var socs = { \r
 +    /* device independent libraries */\r
 +    all :\r
 +    {\r
 +        /* Build this library */\r
 +        build: "true",\r
 +        /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +       /* Library options */\r
 +        copts: "",\r
 +        /* target lists, kept blank now, would be updated based on argument lists */\r
 +        targets: []\r
 +    },\r
++   k2g :\r
++    {\r
++        /* this variable would be reinitialized to true, if XDCARGS contains k2g */\r
++        build: "false", \r
++        /* SoC lib enabled */\r
++        socDevLib: "false",\r
++        /* dma lib enabled */\r
++        dmaDevLib: "false",     \r
++       /* Library options */\r
++       copts: " -DSOC_K2G",\r
++       /* target list */\r
++       targets: [ C66LE, C66BE, A15LE]\r
++    },\r
 +   k2h :\r
 +    {\r
 +        /* this variable would be reinitialized to true, if XDCARGS contains k2h */\r
 +        build: "false", \r
 +        /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +       /* Library options */\r
 +       copts: " -DSOC_K2H",\r
 +       /* target list */\r
 +       targets: [ C66LE, C66BE, A15LE]\r
 +    },\r
 +   k2k :\r
 +    {\r
 +        /* this variable would be reinitialized to true, if XDCARGS contains k2k */\r
 +        build: "false", \r
 +        /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +       /* Library options */\r
 +       copts: " -DSOC_K2K",\r
 +       /* target list */\r
 +       targets: [ C66LE, C66BE, A15LE]\r
 +    },\r
 +   k2e :\r
 +    {\r
 +        /* this variable would be reinitialized to true, if XDCARGS contains k2e */\r
 +        build: "false", \r
 +        /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +      /* Library options */\r
 +       copts: " -DSOC_K2E",\r
 +       /* target list */\r
 +       targets: [ C66LE, C66BE, A15LE]\r
 +    },\r
 +   k2l :\r
 +    {\r
 +        /* this variable would be reinitialized to true, if XDCARGS contains k2l */\r
 +        build: "false", \r
 +         /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +      /* Library options */\r
 +       copts: " -DSOC_K2L",\r
 +       /* target list */\r
 +       targets: [ C66LE, C66BE, A15LE]\r
 +    },\r
 +\r
 +   c6678 :\r
 +    {\r
 +        /* this variable would be reinitialized to true, if XDCARGS contains k2k */\r
 +        build: "false", \r
 +        /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +       /* Library options */\r
 +       copts: " -DSOC_C6678",\r
 +       /* target list */\r
 +       targets: [ C66LE, C66BE]\r
 +    },\r
 +\r
 +   c6657 :\r
 +    {\r
 +        /* this variable would be reinitialized to true, if XDCARGS contains k2k */\r
 +        build: "false", \r
 +        /* SoC lib enabled */\r
 +        socDevLib: "false",\r
 +        /* dma lib enabled */\r
 +        dmaDevLib: "false",     \r
 +       /* Library options */\r
 +       copts: " -DSOC_C6657",\r
 +       /* target list */\r
 +       targets: [ C66LE, C66BE]\r
 +    }\r
 +};\r
 +\r
 +/**************************************************************************\r
 + * FUNCTION NAME : merge\r
 + **************************************************************************\r
 + * DESCRIPTION   :\r
 + *  The function is used to merge two arrarys\r
 + **************************************************************************/\r
 +function merge() {\r
 +    var args = arguments;\r
 +    var hash = {};\r
 +    var arr = [];\r
 +    for (var i = 0; i < args.length; i++) {\r
 +       for (var j = 0; j < args[i].length; j++) {\r
 +         if (hash[args[i][j]] !== true) {\r
 +           arr[arr.length] = args[i][j];\r
 +           hash[args[i][j]] = true;\r
 +         }\r
 +       }\r
 +     }\r
 +    return arr;\r
 +}\r
 +\r
 +/* Grab input from XDCARGS */\r
 +var buildArguments  = [];\r
 +\r
 +/* Construct the build arguments */\r
 +for (var tmp=0; arguments[tmp] != undefined; tmp++)\r
 +{\r
 +\r
 +    /* If no arguments are provided, override for building all */\r
 +    if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )\r
 +        buildArguments[buildArguments.length++] = "all";\r
 +    else\r
 +        buildArguments[buildArguments.length++] = arguments[tmp];\r
 +}\r
 +\r
 +/* Build targets on this build */\r
 +var build_targets = [];\r
 +var soc_names = Object.keys(socs);\r
 +\r
 +for (var i=0; i < buildArguments.length; i++ ) {\r
 +    /* Build it for all targets */\r
 +    if (buildArguments[i] == "all") {\r
 +        for (var j = 0; j < soc_names.length; j++)  {\r
 +            build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));\r
 +            /* Set build to "true" for that SoC */\r
 +            socs[soc_names[j]].build = "true";\r
 +        }\r
 +    }\r
 +    else {\r
 +        /* Skip the first argument, which is ./config.bld to get to next SoCs */\r
 +        if (i == 0) continue;          \r
 +        /* Set that build to true if it is found in supported build socs */\r
 +        for (j = 0; j < soc_names.length; j++) {\r
 +            if (buildArguments[i] == soc_names[j]) {\r
 +                socs[buildArguments[i]].build = "true";\r
 +                build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));\r
 +                break;\r
 +            }\r
 +        }\r
 +    }   \r
 +}\r
 +\r
 +/* Update the Build target generated list */\r
 +socs["all"].targets = build_targets; \r
 +Build.targets   = build_targets;\r
 +\r
diff --combined package.xdc
index c54ff8a91be8a4229abb61b81d8a9d10134676fd,44846598036b0d5c5749beb1c59fb62233a3526c..c54ff8a91be8a4229abb61b81d8a9d10134676fd
mode 100644,100644..100755
@@@ -9,6 -9,6 +9,6 @@@
   * Copyright (C) 2012-2015, Texas Instruments, Inc.\r
   *****************************************************************************/\r
  \r
 -package ti.drv.rm[2, 2, 0, 0] {\r
 +package ti.drv.rm[2, 2, 0, 00] {\r
      module Settings;\r
  }\r
index 6da3a578499a196ddaa289ac8d9ec960a2e369f6,dfbf6387b562252c0b9cc18829a282e245392276..6da3a578499a196ddaa289ac8d9ec960a2e369f6
mode 100644,100644..100755
@@@ -3,6 -3,6 +3,6 @@@
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/dts_files/server-policy.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2e/c66/bios/rm_osal.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2e/c66/bios/rm_test_sc.cfg"
 --ccs.setCompilerOptions "-mv6600 -g -DDEVICE_K2E --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
 +-ccs.setCompilerOptions "-mv6600 -g -DSOC_K2E --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
  -rtsc.enableRtsc
  
index 0000000000000000000000000000000000000000,a4642c91b5f766b065741299fd4885c22fc8a5c6..a4642c91b5f766b065741299fd4885c22fc8a5c6
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,7 +1,7 @@@
+ -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/src/dsp_client.c"
+ -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/dts_files/static-policy.c"
+ -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2g/c66/bios/rm_osal.c"
+ -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2g/c66/bios/dsp_client.cfg"
+ -ccs.setCompilerOptions "-mv6600 -g -DDEVICE_K2G --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
+ -rtsc.enableRtsc
index a1e4305892d4bcdcff8ab508d2d7b1c70be40eb7,40001221cda0da7fd2de312c8413346c4f6720eb..a1e4305892d4bcdcff8ab508d2d7b1c70be40eb7
mode 100644,100644..100755
@@@ -3,6 -3,6 +3,6 @@@
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/dts_files/server-policy.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2h/c66/bios/rm_osal.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2h/c66/bios/rm_test_sc.cfg"
 --ccs.setCompilerOptions "-mv6600 -g -DDEVICE_K2H --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
 +-ccs.setCompilerOptions "-mv6600 -g -DSOC_K2H --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
  -rtsc.enableRtsc
  
index 3dd1dc7436bdb7dd735bf8c011b968659bf7c606,be2bf9f1eaa71acb9d8f18bd8c6246ebaaeb776b..3dd1dc7436bdb7dd735bf8c011b968659bf7c606
mode 100644,100644..100755
@@@ -3,6 -3,6 +3,6 @@@
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/dts_files/server-policy.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2k/c66/bios/rm_osal.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2k/c66/bios/rm_test_sc.cfg"
 --ccs.setCompilerOptions "-mv6600 -g -DDEVICE_K2K --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
 +-ccs.setCompilerOptions "-mv6600 -g -DSOC_K2K --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
  -rtsc.enableRtsc
  
index ead91682db8dfe5d921da5fc8544cddc45ca24d0,cb0e94de5db4d88aee6243e149fa43257efb8007..ead91682db8dfe5d921da5fc8544cddc45ca24d0
mode 100644,100644..100755
@@@ -35,7 -35,7 +35,7 @@@ var MultiProc = xdc.useModule('ti.sdo.u
  /*
   *  Get the list of names that the build device supports.
   *  I.e. ["CORE0", "CORE1", "CORE2" ... ]
 - */;
 + */
  var nameList = ["CORE0"];
  
  /* 
index bb51317e468b0ddd2b50526b08a8e6c4ecf964f7,6c13611af320309d600e43366b3f24d7f3734466..bb51317e468b0ddd2b50526b08a8e6c4ecf964f7
mode 100644,100644..100755
@@@ -3,6 -3,6 +3,6 @@@
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/dts_files/server-policy.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2l/c66/bios/rm_osal.c"
  -ccs.linkFile "PDK_INSTALL_PATH/ti/drv/rm/test/k2l/c66/bios/rm_test_sc.cfg"
 --ccs.setCompilerOptions "-mv6600 -g -DDEVICE_K2L --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
 +-ccs.setCompilerOptions "-mv6600 -g -DSOC_K2L --diag_warning=225 -I${PDK_INSTALL_PATH}/ti/drv/rm" 
  -rtsc.enableRtsc