STM32GENERIC/tools/script/HAL_sources.py

47 lines
1.3 KiB
Python

# Create stm32XXxx_hal_YYY.c files with #ifdefs
import os
serieses = ['f0', 'f1', 'f2', 'f3', 'f4', 'f7', 'l0', 'l1', 'l4']
all = []
for series in serieses:
files = os.listdir('../../STM32/system/STM32' + series.upper() + '/HAL_Src')
generic = [file.replace(series, 'XX') for file in files]
#print files
#print generic
all.extend(generic)
source = ""
source_ex = ""
for series in serieses:
source += '#ifdef STM32' + series.upper() + '\n'
source_ex += '#ifdef STM32' + series.upper() + '\n'
for x in sorted(set(all)):
if 'system' in x or 'template' in x:
continue
if os.path.isfile('../../STM32/system/STM32' + series.upper() + '/HAL_Src/' + x.replace('XX', series)):
if 'ex.c' in x:
source_ex += ' #include "' + x.replace('XX', series) + '"\n'
else:
source += ' #include "' + x.replace('XX', series) + '"\n'
source += '#endif\n'
source_ex += '#endif\n'
with open('stm32XXxx_hal.c', 'w') as file_hal:
file_hal.write('#include "stm32_build_defines.h"\n\n')
file_hal.write(source)
with open('stm32XXxx_hal_ex.c', 'w') as file_hal_ex:
file_hal_ex.write('#include "stm32_build_defines.h"\n\n')
file_hal_ex.write(source_ex)