952 dependency != NULL;
953 dependency = dependency->next) {
954 Boolean this_dependency_changed = false;
955
956 if (!dependency->automatic &&
957 (rechecking_target || target->rechecking_target)) {
958 /*
959 * We only bother with the autos when rechecking
960 */
961 continue;
962 }
963
964 if (dependency->name == wait_name) {
965 /*
966 * The special target .WAIT means finish all of
967 * the prior dependencies before continuing.
968 */
969 if (dependencies_running) {
970 break;
971 }
972 } else {
973 timestruc_t depe_time = file_doesnt_exist;
974
975
976 if (true_target->is_member) {
977 depe_time = exists(dependency->name);
978 }
979 if (dependency->built ||
980 (dependency->name->state == build_failed)) {
981 dep_result = (Doname) dependency->name->state;
982 } else {
983 dep_result = doname_check(dependency->name,
984 do_get,
985 false,
986 (Boolean) dependency->automatic);
987 }
988 if (true_target->is_member || dependency->name->is_member) {
989 /* should compare only secs, cause lib members does not have nsec time resolution */
990 if (depe_time.tv_sec != dependency->name->stat.time.tv_sec) {
991 this_dependency_changed =
|
952 dependency != NULL;
953 dependency = dependency->next) {
954 Boolean this_dependency_changed = false;
955
956 if (!dependency->automatic &&
957 (rechecking_target || target->rechecking_target)) {
958 /*
959 * We only bother with the autos when rechecking
960 */
961 continue;
962 }
963
964 if (dependency->name == wait_name) {
965 /*
966 * The special target .WAIT means finish all of
967 * the prior dependencies before continuing.
968 */
969 if (dependencies_running) {
970 break;
971 }
972 } else if ((!parallel_ok(dependency->name, false)) &&
973 (dependencies_running)) {
974 /*
975 * If we can't execute the current dependency in
976 * parallel, hold off the dependency processing
977 * to preserve the order of the dependencies.
978 */
979 break;
980 } else {
981 timestruc_t depe_time = file_doesnt_exist;
982
983
984 if (true_target->is_member) {
985 depe_time = exists(dependency->name);
986 }
987 if (dependency->built ||
988 (dependency->name->state == build_failed)) {
989 dep_result = (Doname) dependency->name->state;
990 } else {
991 dep_result = doname_check(dependency->name,
992 do_get,
993 false,
994 (Boolean) dependency->automatic);
995 }
996 if (true_target->is_member || dependency->name->is_member) {
997 /* should compare only secs, cause lib members does not have nsec time resolution */
998 if (depe_time.tv_sec != dependency->name->stat.time.tv_sec) {
999 this_dependency_changed =
|