diff options
Diffstat (limited to 'zephyr/zmake/zmake/zmake.py')
-rw-r--r-- | zephyr/zmake/zmake/zmake.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/zephyr/zmake/zmake/zmake.py b/zephyr/zmake/zmake/zmake.py index 45e23fd904..c6ec3879ea 100644 --- a/zephyr/zmake/zmake/zmake.py +++ b/zephyr/zmake/zmake/zmake.py @@ -235,6 +235,7 @@ class Zmake: self.logger.info("Clearing old build directory %s", build_dir) shutil.rmtree(build_dir) + generated_include_dir = (build_dir / "include").resolve() base_config = zmake.build_config.BuildConfig( environ_defs={"ZEPHYR_BASE": str(zephyr_base), "PATH": "/usr/bin"}, cmake_defs={ @@ -242,6 +243,7 @@ class Zmake: "SYSCALL_INCLUDE_DIRS": str( self.module_paths["ec"] / "zephyr" / "include" / "drivers" ), + "ZMAKE_INCLUDE_DIR": str(generated_include_dir), }, ) @@ -274,6 +276,8 @@ class Zmake: if not build_dir.exists(): build_dir = build_dir.mkdir() + if not generated_include_dir.exists(): + generated_include_dir.mkdir() processes = [] self.logger.info("Building %s in %s.", project_dir, build_dir) for build_name, build_config in project.iter_builds(): @@ -375,6 +379,14 @@ class Zmake: zmake.modules.locate_from_directory(build_dir / "modules"), ) + # The version header needs to generated during the build phase + # instead of configure, as the tree may have changed since + # configure was run. + zmake.version.write_version_header( + version_string, + build_dir / "include" / "ec_version.h", + ) + for build_name, build_config in project.iter_builds(): with self.jobserver.get_job(): dirs[build_name] = build_dir / "build-{}".format(build_name) |