Split uVision project source files in groups mbed/hal/src

Files are grouped based on their path (mbed/common, mbed/targets, *)
Empty folders are not exported. Modified all uVision templates accordingly.
pull/72/head
Joris Aerts 2013-09-18 10:02:40 -07:00
parent 08f74957a4
commit 434c35c1d5
8 changed files with 42 additions and 19 deletions

View File

@ -37,18 +37,27 @@ class Uvision4(Exporter):
return 'uARM' if (self.target in self.USING_MICROLIB) else 'ARM' return 'uARM' if (self.target in self.USING_MICROLIB) else 'ARM'
def generate(self): def generate(self):
source_files = [] source_files = {
'mbed': [],
'hal': [],
'src': []
}
for r_type, n in Uvision4.FILE_TYPES.iteritems(): for r_type, n in Uvision4.FILE_TYPES.iteritems():
for file in getattr(self.resources, r_type): for file in getattr(self.resources, r_type):
source_files.append({ f = {'name': basename(file), 'type': n, 'path': file}
'name': basename(file), 'type': n, 'path': file if file.startswith("mbed\\common"):
}) source_files['mbed'].append(f)
elif file.startswith("mbed\\targets"):
source_files['hal'].append(f)
else:
source_files['src'].append(f)
source_files = dict( [(k,v) for k,v in source_files.items() if len(v)>0])
ctx = { ctx = {
'name': self.program_name, 'name': self.program_name,
'include_paths': self.resources.inc_dirs, 'include_paths': self.resources.inc_dirs,
'scatter_file': self.resources.linker_script, 'scatter_file': self.resources.linker_script,
'object_files': self.resources.objects + self.resources.libraries, 'object_files': self.resources.objects + self.resources.libraries,
'source_files': source_files, 'source_files': source_files.items(),
'symbols': self.toolchain.get_symbols() 'symbols': self.toolchain.get_symbols()
} }
target = self.target.lower() target = self.target.lower()

View File

@ -391,10 +391,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -414,6 +415,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>

View File

@ -393,10 +393,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -416,6 +417,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>

View File

@ -387,10 +387,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -410,6 +411,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>

View File

@ -388,10 +388,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -411,6 +412,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>

View File

@ -390,10 +390,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -413,6 +414,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>

View File

@ -392,10 +392,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -415,6 +416,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>

View File

@ -393,10 +393,11 @@
</TargetArmAds> </TargetArmAds>
</TargetOption> </TargetOption>
<Groups> <Groups>
{% for group,files in source_files %}
<Group> <Group>
<GroupName>src</GroupName> <GroupName>{{group}}</GroupName>
<Files> <Files>
{% for file in source_files %} {% for file in files %}
<File> <File>
<FileName>{{file.name}}</FileName> <FileName>{{file.name}}</FileName>
<FileType>{{file.type}}</FileType> <FileType>{{file.type}}</FileType>
@ -416,6 +417,7 @@
{% endfor %} {% endfor %}
</Files> </Files>
</Group> </Group>
{% endfor %}
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>