static List<Framework> GenereteAddFrameWorks(BSPDirectories pBspDir, string pstrFile)
{
List<Framework> bleFrameworks = new List<Framework>();
List<PropertyEntry> propFr = new List<PropertyEntry>();
PropertyList pl = new PropertyList();
List<string> a_SimpleFileConditions = new List<string>();
foreach (var line in File.ReadAllLines(Path.Combine(pBspDir.RulesDir, pstrFile)))
{
string dir = line;
string desc = "";
string id = dir;
int idx = line.IndexOf('|');
if (idx > 0)
{
dir = line.Substring(0, idx);
desc = line.Substring(idx + 1);
id = Path.GetFileName(dir);
}
dir= dir.ToLower();
id = dir.Replace("\\", "_");
string a_name = line.Substring(line.LastIndexOf("\\") + 1).ToLower(); ;
dir = a_name;
string aIncludeMask = "-sam[0-9g]?*;-uc*;*.h";
a_SimpleFileConditions.Clear();
if (a_name.ToLower() == "sleepmgr")
{
a_SimpleFileConditions.Add(@"samd\\*: $$com.sysprogs.atmel.sam32._header_prefix_samser$$ == samd");
a_SimpleFileConditions.Add(@"samc\\*: $$com.sysprogs.atmel.sam32._header_prefix_samser$$ == samc");
a_SimpleFileConditions.Add(@"sam\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ != yes");
aIncludeMask = @"-*/*;*.h";
}
if (a_name.ToLower() == "serial")
{
a_SimpleFileConditions.Add(@"sam0_usart\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ == yes");
a_SimpleFileConditions.Add(@"sam_uart\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ != yes");
a_SimpleFileConditions.Add(@"samb_uart\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ == samb");
aIncludeMask = @"-*/*;*.h";
}
if (a_name.ToLower() == "adp"|| a_name.ToLower() == "ioport")
{
a_SimpleFileConditions.Add(@"sam0\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ == yes");
a_SimpleFileConditions.Add(@"sam\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ != yes");
aIncludeMask = @"-*/*;*.h";
}
if (a_name.ToLower() == "clock")
{
a_SimpleFileConditions.Add(@"sam4l\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4l");
a_SimpleFileConditions.Add(@"sam3n\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3n");
a_SimpleFileConditions.Add(@"sam3s\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3s");
a_SimpleFileConditions.Add(@"sam3u\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3u");
a_SimpleFileConditions.Add(@"sam3x\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3x");
a_SimpleFileConditions.Add(@"sam4c\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4c");
a_SimpleFileConditions.Add(@"sam4cp\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4cp");
a_SimpleFileConditions.Add(@"sam4cm\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4cm");
a_SimpleFileConditions.Add(@"sam4e\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4e");
a_SimpleFileConditions.Add(@"sam4n\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4n");
a_SimpleFileConditions.Add(@"sam4s\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4s");
a_SimpleFileConditions.Add(@"same70\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == same70");
a_SimpleFileConditions.Add(@"sams70\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sams70");
a_SimpleFileConditions.Add(@"samv70\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == samv70");
a_SimpleFileConditions.Add(@"samv71\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == samv71");
a_SimpleFileConditions.Add(@"samg\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == samg51");
aIncludeMask = @"-*/*;*.h";
}
bleFrameworks.Add(new Framework
{
Name = "Atmel Services " + dir,
ID = "com.sysprogs.arm.atmel.service." + dir,
ClassID = "com.sysprogs.arm.atmel.cl.services." + dir,
ProjectFolderName = "Services_" + dir,
DefaultEnabled = false,
CopyJobs = new CopyJob[]
{
new CopyJob
{
SourceFolder = @"$$BSPGEN:INPUT_DIR$$\common\services\"+dir,
TargetFolder = @"common\services\"+dir,
FilesToCopy = "-*example*.c;-*example*.h;-*unit_test*.*;-*doxygen*;-*mega*;-*avr*;-*uc3*;*.c;*.h",
AutoIncludeMask =aIncludeMask,
ProjectInclusionMask = "*.c",
SimpleFileConditions = a_SimpleFileConditions.ToArray(),
}
},
});
}
return bleFrameworks;
}