#! /usr/bin/python3 # Last edited on 2026-09-13 18:38:50 by stolfi import sys, os, re; from sys import stderr as err from error_funcs import arg_error, prog_error from process_funcs import bash from make_funcs import make_targets import make_072_rules as m72 import bencao_starps_make_funcs as makef def main(targets): # Make sure the required ".upp" files exist starps_in_targets = [] for bsub in ( "fu", "gd", ): for utype in ( "ec", "wp", "wc", ): for ltype in ( "par", ): target = f"starps-{bsub}-{utype}-{ltype}.upp" starps_in_targets.append(target) bash(f"cd ../070 && make TARGETS='{" ".join(starps_in_targets)}'") bencao_in_targets = [] for utype in ( "ch", ): target = f"bencao-fu-{utype}-par.upp" bencao_in_targets.append(target) bash(f"cd ../071 && make TARGETS='{" ".join(bencao_in_targets)}'") # TARGETS AND THEIR PRE-REQUISITES: pre = dict() # Maps target filename (sans 'res') to list of prerequisites filenames. mak = dict() # Maps target filename (sans 'res') to commands that build it. tit = dict() # Maps target to progress message for {stderr}. err.write(f"REQUESTED: {targets!r}\n") all_targets = m72.add_all_072_rules(pre, mak, tit) if targets == None or len(targets) == 1 and targets[0] == "ALL": targets = all_targets err.write(f"REPLACED BY:\n") for target in targets: err.write(" %s\n" % target) odir = "res" targets = list(set(tuple(targets))) targets.sort() err.write("TARGETS TO MAKE\n") for target in targets: err.write(" %s\n" % target) err.write("\n") debug_make = False make_targets(targets, odir, pre, mak, tit, debug_make) err.write("done.\n") return # ---------------------------------------------------------------------- targets = [] assert len(sys.argv) >= 1 # Always {sys.argv[0]} is the command. targets = [ arg for arg in sys.argv[1:] ] main(targets)