soc/integration/builder: don't build bios is user is providing rom data

This commit is contained in:
Florent Kermarrec 2017-12-28 22:42:58 +01:00
parent 5d98a60e6e
commit b78a4760bb
1 changed files with 9 additions and 6 deletions

View File

@ -117,12 +117,15 @@ class Builder:
dst_dir = os.path.join(self.output_dir, "software", name) dst_dir = os.path.join(self.output_dir, "software", name)
os.makedirs(dst_dir, exist_ok=True) os.makedirs(dst_dir, exist_ok=True)
def _generate_software(self): def _generate_software(self, compile_bios=True):
for name, src_dir in self.software_packages: for name, src_dir in self.software_packages:
dst_dir = os.path.join(self.output_dir, "software", name) if name == "bios" and not compile_bios:
makefile = os.path.join(src_dir, "Makefile") pass
if self.compile_software: else:
subprocess.check_call(["make", "-C", dst_dir, "-f", makefile]) dst_dir = os.path.join(self.output_dir, "software", name)
makefile = os.path.join(src_dir, "Makefile")
if self.compile_software:
subprocess.check_call(["make", "-C", dst_dir, "-f", makefile])
def _initialize_rom(self): def _initialize_rom(self):
bios_file = os.path.join(self.output_dir, "software", "bios", bios_file = os.path.join(self.output_dir, "software", "bios",
@ -144,7 +147,7 @@ class Builder:
if self.soc.cpu_type is not None: if self.soc.cpu_type is not None:
self._prepare_software() self._prepare_software()
self._generate_includes() self._generate_includes()
self._generate_software() self._generate_software(not self.soc.integrated_rom_initialized)
if self.soc.integrated_rom_size and self.compile_software: if self.soc.integrated_rom_size and self.compile_software:
if not self.soc.integrated_rom_initialized: if not self.soc.integrated_rom_initialized:
self._initialize_rom() self._initialize_rom()