code: function addDepsToRequiredTargets(target, parents){
          if (parents.have(target)){
              callback(new Error("Circular dependencies detected"));
              return;
          }
          requiredTargets.add(target);
          parents.add(target);
          for(var deps in makeInst.targets[target].dependsOn.hash){
              addDepsToRequiredTargets(deps, parents.clone());
          }
      }
docs: find all the required targets