build-gem5: factor dtb copy with copy_dir_if_update_non_recursive

Less code, less boring + cp prints, only copy if modified.
This commit is contained in:
Ciro Santilli 六四事件 法轮功
2018-10-26 00:00:01 +00:00
parent 8f1c662e3d
commit bb1bb370a6
3 changed files with 6 additions and 5 deletions

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import glob
import os import os
import pathlib import pathlib
import subprocess import subprocess
@@ -55,9 +54,11 @@ class Gem5Component(common.Component):
dt_src_dir = os.path.join(gem5_system_src_dir, 'arm', 'dt') dt_src_dir = os.path.join(gem5_system_src_dir, 'arm', 'dt')
dt_build_dir = os.path.join(common.gem5_system_dir, 'arm', 'dt') dt_build_dir = os.path.join(common.gem5_system_dir, 'arm', 'dt')
common.run_cmd(['make', '-C', dt_src_dir]) common.run_cmd(['make', '-C', dt_src_dir])
os.makedirs(dt_build_dir, exist_ok=True) common.copy_dir_if_update_non_recursive(
for dt in glob.glob(os.path.join(dt_src_dir, '*.dtb')): srcdir=dt_src_dir,
common.cp(dt, dt_build_dir) destdir=dt_build_dir,
filter_ext='.dtb',
)
# Bootloader 32. # Bootloader 32.
bootloader32_dir = os.path.join(gem5_system_src_dir, 'arm', 'simple_bootloader') bootloader32_dir = os.path.join(gem5_system_src_dir, 'arm', 'simple_bootloader')

View File

@@ -170,6 +170,7 @@ def write_string_to_file(path, string, mode='w'):
f.write(string) f.write(string)
def copy_dir_if_update_non_recursive(srcdir, destdir, filter_ext=None): def copy_dir_if_update_non_recursive(srcdir, destdir, filter_ext=None):
# TODO print rsync equivalent.
os.makedirs(destdir, exist_ok=True) os.makedirs(destdir, exist_ok=True)
for basename in os.listdir(srcdir): for basename in os.listdir(srcdir):
src = os.path.join(srcdir, basename) src = os.path.join(srcdir, basename)

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import glob
import os import os
import subprocess import subprocess
import sys import sys