MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / asm_build

Function asm_build

tools/project.py:966–997  ·  view source on GitHub ↗
(
            obj: Object, src_path: Path, obj_path: Optional[Path]
        )

Source from the content-addressed store, hash-verified

964 return obj.src_obj_path
965
966 def asm_build(
967 obj: Object, src_path: Path, obj_path: Optional[Path]
968 ) -> Optional[Path]:
969 if obj.options["asflags"] is None:
970 sys.exit("ProjectConfig.asflags missing")
971 asflags_str = make_flags_str(obj.options["asflags"])
972 if len(obj.options["extra_asflags"]) > 0:
973 extra_asflags_str = make_flags_str(obj.options["extra_asflags"])
974 asflags_str += " " + extra_asflags_str
975
976 # Avoid creating duplicate build rules
977 if obj_path is None or obj_path in source_added:
978 return obj_path
979 source_added.add(obj_path)
980
981 # Add assembler build rule
982 lib_name = obj.options["lib"]
983 n.comment(f"{obj.name}: {lib_name} (linked {obj.completed})")
984 n.build(
985 outputs=obj_path,
986 rule="as",
987 inputs=src_path,
988 variables={"asflags": asflags_str},
989 implicit=gnu_as_implicit,
990 order_only="pre-compile",
991 )
992 n.newline()
993
994 if obj.options["add_to_all"]:
995 source_inputs.append(obj_path)
996
997 return obj_path
998
999 def add_unit(build_obj: BuildConfigUnit, link_step: LinkStep):
1000 obj_path, obj_name = build_obj["object"], build_obj["name"]

Callers 1

add_unitFunction · 0.85

Calls 5

make_flags_strFunction · 0.85
addMethod · 0.80
commentMethod · 0.80
buildMethod · 0.80
newlineMethod · 0.80

Tested by

no test coverage detected