50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
import os
|
|
version = '3.6.4'
|
|
|
|
# os.system(f'wget https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/mbedtls-{version}.tar.gz')
|
|
# os.system(f'tar xvf mbedtls-{version}.tar.gz')
|
|
|
|
directories = ['include', 'library']
|
|
source_dir = f'mbedtls-mbedtls-{version}'
|
|
target_dir = '.'
|
|
extensions = ['.h', '.hpp', '.c', '.cpp']
|
|
|
|
class FileToCopy:
|
|
def __init__(self, source, target):
|
|
self.source_file = source
|
|
self.target_file = target
|
|
|
|
def get_copy_list(source_dir, target_dir):
|
|
result = []
|
|
for file in os.listdir(source_dir):
|
|
is_source_file = False
|
|
for ext in extensions:
|
|
if file.endswith(ext):
|
|
is_source_file = True
|
|
if not is_source_file:
|
|
continue
|
|
target_file_name = file
|
|
if target_file_name.endswith('.c'):
|
|
target_file_name = target_file_name[:-2] + '.cpp'
|
|
source_file = os.path.join(source_dir, file)
|
|
target_file = os.path.join(target_dir, target_file_name)
|
|
if os.path.isdir(source_file):
|
|
result += get_copy_list(source_file, target_file)
|
|
if not os.path.isfile(target_file):
|
|
continue
|
|
# check if this is a dummy file
|
|
with open(target_file, 'r') as f:
|
|
text = f.read()
|
|
if '// dummy file' in text:
|
|
continue
|
|
print(target_file)
|
|
result.append(FileToCopy(source_file, target_file))
|
|
return result
|
|
|
|
|
|
copy_list = []
|
|
for directory in directories:
|
|
copy_list += get_copy_list(os.path.join(source_dir, directory), os.path.join(target_dir, directory))
|
|
|
|
for file in copy_list:
|
|
os.system(f'cp {file.source_file} {file.target_file}') |