Import('env') headers = [] instances = [] sources = [] aliases = {} interrupts = env['PLATFORM_SPEC'].get('interrupt', {}) env.Jinja2('interrupt_enums.h', 'interrupt_enums.h.j2', interrupts = interrupts) headers.append('interrupt_enums.h') sources.append(env.Jinja2('default_handlers.cpp', 'default_handlers.cpp.j2', interrupts = interrupts)) periph = env['PLATFORM_SPEC'].get('periph', {}) if 'nvic' in periph: headers.append('nvic.h') for name, data in periph['nvic'].items(): instances.append({ 'type': 'NVIC_t', 'name': name, 'args': [data['offset']], }) aliases['SCB'] = 'NVIC.SCB' aliases['interrupt_ctl'] = 'NVIC' sources.extend([ env.Jinja2('vectors_nvic.cpp', 'vectors_nvic.cpp.j2', interrupts = interrupts), ]) Return('sources')