Source code for pydmt.builders.make

"""
This module runs make
"""


import os
from pydmt.utils.filesystem import mkdir_touch
from pydmt.utils.subprocess import check_call_ve

from pydmt.api.one_source_one_target import OneSourceOneTarget


[docs] class BuilderMake(OneSourceOneTarget):
[docs] def build(self) -> None: args = [ "make", ] if "GITHUB_WORKFLOW" in os.environ: # TODO: I'm assuming here that there is no previous MAKEFLAGS variable. Not good. # -j will cause endless parallel jobs to be run and that is why we add the number # of cores os.environ["MAKEFLAGS"] = f"-j{os.cpu_count()}" check_call_ve(args) mkdir_touch(self.target)