code: protected int checkForChangedIncludeFiles(final Map<String, TargetInfo> targets) {
      int potentialTargets = 0;
      int definiteTargets = 0;
      Iterator<TargetInfo> targetEnum = targets.values().iterator();
      while (targetEnum.hasNext()) {
        final TargetInfo target = targetEnum.next();
        if (!target.getRebuild()) {
          potentialTargets++;
        } else {
          definiteTargets++;
        }
      }
      //
      // If there were remaining targets that
      // might be out of date
      //
      if (potentialTargets > 0) {
        log("Starting dependency analysis for " + Integer.toString(potentialTargets) + " files.");
        final DependencyTable dependencyTable = new DependencyTable(this._objDir);
        try {
          dependencyTable.load();
        } catch (final Exception ex) {
          log("Problem reading dependencies.xml: " + ex.toString());
        }
        targetEnum = targets.values().iterator();
        while (targetEnum.hasNext()) {
      	  final TargetInfo target = targetEnum.next();
      	  if (!target.getRebuild() && dependencyTable.needsRebuild(this, target, this.dependencyDepth)) {
      		  target.mustRebuild();
      	  }
        }
        dependencyTable.commit(this);
      }
      //
      // count files being rebuilt now
      //
      int currentTargets = 0;
      targetEnum = targets.values().iterator();
      while (targetEnum.hasNext()) {
        final TargetInfo target = targetEnum.next();
        if (target.getRebuild()) {
          currentTargets++;
        }
      }
      if (potentialTargets > 0) {
        log(Integer.toString(potentialTargets - currentTargets + definiteTargets) + " files are up to date.");
        log(Integer.toString(currentTargets - definiteTargets) + " files to be recompiled from dependency analysis.");
      }
      log(Integer.toString(currentTargets) + " total files to be compiled.");
      return currentTargets;
    }
docs: Checks all targets that are not forced to be rebuilt or are missing
  object files to be checked for modified include files
  
  @return total number of targets to be rebuilt