code: def build_job_configs(self, args):
          
          job_configs = {}
  
          ttype = args['ttype']
          (targets_yaml, sim) = NAME_FACTORY.resolve_targetfile(args)
          if targets_yaml is None:
              return job_configs
  
          config_yaml = 'config.yaml'
          config_override = args.get('config')
          if is_not_null(config_override):
              config_yaml = config_override
  
          rand_yaml = NAME_FACTORY.resolve_randconfig(args)
  
          targets = load_yaml(targets_yaml)
  
          base_config = dict(rand_config=rand_yaml)
  
          for target_name in targets.keys():
              name_keys = dict(target_type=ttype,
                               target_name=target_name,
                               sim_name=sim,
                               fullpath=True)
              simdir = NAME_FACTORY.sim_targetdir(**name_keys)
              config_path = os.path.join(simdir, config_yaml)
              outfile = os.path.join(simdir, 'skydirs.yaml')
              logfile = make_nfs_path(outfile.replace('yaml', 'log'))
              job_config = base_config.copy()
              job_config.update(dict(config=config_path,
                                     outfile=outfile,
                                     logfile=logfile))
              job_configs[target_name] = job_config
  
          return job_configs
docs: Hook to build job configurations