Skip to content

Commit

Permalink
Add redo-hier-par-to-syn- target to Makefile build flow
Browse files Browse the repository at this point in the history
Minor QoL improvement
  • Loading branch information
jerryz123 committed Dec 15, 2023
1 parent 90c5660 commit 73467cf
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
9 changes: 8 additions & 1 deletion hammer/vlsi/hammer_build_systems.py
Original file line number Diff line number Diff line change
Expand Up @@ -484,10 +484,17 @@ def build_makefile(driver: HammerDriver, append_error_func: Callable[[str], None
prereqs = " ".join(out_confs)
pstring = " ".join(["-p " + x for x in out_confs])
par_to_syn = textwrap.dedent("""
.PHONY: hier-par-to-syn-{node} redo-hier-par-to-syn-{node}
{syn_deps}: {prereqs}
\t$(HAMMER_EXEC) {env_confs} {pstring} -o {syn_deps} --obj_dir {obj_dir} hier-par-to-syn
hier-par-to-syn-{node}: {syn_deps}
redo-hier-par-to-syn-{node}:
\t$(HAMMER_EXEC) {env_confs} {pstring} -o {syn_deps} --obj_dir {obj_dir} hier-par-to-syn
""".format(syn_deps=syn_deps, prereqs=prereqs, env_confs=env_confs, pstring=pstring,
obj_dir=obj_dir))
obj_dir=obj_dir, node=node))

output += make_text.format(suffix="-"+node, mod=node, env_confs=env_confs, obj_dir=obj_dir, syn_deps=syn_deps,
par_to_syn=par_to_syn,
Expand Down
4 changes: 4 additions & 0 deletions tests/test_build_systems.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,10 @@ def test_hier_makefile(self, tmpdir) -> None:
expected_targets.update({task + "-" + x for x in mods})
expected_targets.update({"redo-" + task + "-" + x for x in mods})

# Only non-leafs get a hier-par-to-syn target
expected_targets.update({"hier-par-to-syn-" + x for x in mods if x in {"TopMod"}})
expected_targets.update({"redo-hier-par-to-syn-" + x for x in mods if x in {"TopMod"}})

# Only non-leafs get a syn-*-input.json target
expected_targets.update({os.path.join(tmpdir, "syn-" + x + "-input.json") for x in mods if x in {"TopMod"}})
expected_targets.update({os.path.join(tmpdir, "sim-syn-" + x + "-input.json") for x in mods})
Expand Down

0 comments on commit 73467cf

Please sign in to comment.