Lines Matching defs:target

86 static	Boolean		dependency_conflict(Name target);
88 static void doname_subtree(Name target, Boolean do_get, Boolean implicit);
127 Name target = line->body.line.target;
665 * doname_parallel(target, do_get, implicit)
667 * Processes the given target and finishes up any parallel
671 * Result of target build
674 * target Target to build
676 * implicit True if this is an implicit target
679 doname_parallel(Name target, Boolean do_get, Boolean implicit)
683 result = doname_check(target, do_get, implicit, false);
688 return (Doname) target->state;
692 * doname_subtree(target, do_get, implicit)
698 * target Target to build
700 * implicit True if this is an implicit target
709 doname_subtree(Name target, Boolean do_get, Boolean implicit)
718 target->state = build_subtree;
719 target->checking_subtree = true;
720 while(doname_check(target, do_get, implicit, false) == build_running) {
721 target->checking_subtree = false;
723 target->state = build_subtree;
725 target->checking_subtree = false;
758 * This can be a pending target, a serial target, or a subtree target.
764 * subtree_conflict A target which conflicts with a subtree
765 * subtree_conflict2 The other target which conflicts
791 * If nothing currently running, build a serial target, if any.
803 rp->target->state = build_pending;
804 (void) doname_check(rp->target,
816 * Find a target to build. The target must be pending, have all
817 * its dependencies built, and not be in a target group with a target
829 line = get_prop(rp->target->prop, line_prop);
853 rp->target->state = rp->redo ?
860 rp->target->dont_activate_cond_values = true;
861 if ((doname_check(rp->target,
864 rp->target->has_target_prop ? true : false) !=
870 rp->target->dont_activate_cond_values = false;
890 * target with no dependency conflicts, build it.
898 if (!dependency_conflict(rp->target)) {
904 doname_subtree(rp->target,
932 rp->target->string_mb,
940 doname_subtree(rp->target, rp->do_get, rp->implicit);
1008 * dependency_conflict(target)
1011 * the subtree of the target and any dependents of the pending targets.
1017 * target Subtree target to check
1028 dependency_conflict(Name target)
1036 /* Return if we are already checking this target */
1037 if (target->checking_subtree) {
1040 target->checking_subtree = true;
1041 line = get_prop(target->prop, line_prop);
1043 target->checking_subtree = false;
1046 /* Check each dependency of the target for conflicts */
1053 * For each pending target, look for a dependency which
1054 * is the same as a dependency of the subtree target. Since
1061 pending_line = get_prop(rp->target->prop,
1071 target->checking_subtree
1073 subtree_conflict = rp->target;
1081 target->checking_subtree = false;
1085 target->checking_subtree = false;
1158 * docheck Completely check the finished target
1185 * If the state is ok or failed, then this target has
1189 * update the target, then finish the doname process for
1190 * that target.
1198 line2 = get_prop(rp->target->prop, line_prop);
1254 line = get_prop(rp->target->prop, line_prop);
1261 warning(gettext("Command failed for target `%s'"),
1262 rp->command ? line2->body.line.target->string_mb : rp->target->string_mb);
1273 fatal(gettext("Command failed for target `%s'"),
1274 rp->command ? line2->body.line.target->string_mb : rp->target->string_mb);
1286 update_target(get_prop(rp->target->prop, line_prop),
1352 * Completes the processing for a target which was left running.
1355 * rp Running list entry for target
1367 Name target = rp->target;
1374 (void) printf("Target = %s\n", target->string_mb);
1383 target->state = result;
1384 if (target->is_member) {
1388 if ((target->stat.time != file_max_time) &&
1389 ((member = get_prop(target->prop, member_prop)) != NULL) &&
1391 target->stat.time =
1400 * built the target.
1402 if ((result == build_ok) && check_auto_dependencies(target,
1411 target->rechecking_target = true;
1412 target->state = build_running;
1423 add_pending(target,
1444 rp->target = NULL;
1461 * add_running(target, true_target, command, recursion_level, auto_count,
1464 * Adds a record on the running list for this target, which
1468 * target Target being built
1469 * true_target True target for target
1482 * current_line Current line for target
1483 * current_target Current target being built
1489 add_running(Name target, Name true_target, Property command, int recursion_level, int auto_count, Name *automatics, Boolean do_get, Boolean implicit)
1496 rp->target = target;
1533 * add_pending(target, recursion_level, do_get, implicit, redo)
1535 * Adds a record on the running list for a pending target
1539 * target Target being built
1543 * redo True if this target is being redone
1549 add_pending(Name target, int recursion_level, Boolean do_get, Boolean implicit, Boolean redo)
1554 rp->target = target;
1565 * add_serial(target, recursion_level, do_get, implicit)
1567 * Adds a record on the running list for a target which must be
1571 * target Target being built
1580 add_serial(Name target, int recursion_level, Boolean do_get, Boolean implicit)
1585 rp->target = target;
1597 * add_subtree(target, recursion_level, do_get, implicit)
1599 * Adds a record on the running list for a target which must be
1603 * target Target being built
1612 add_subtree(Name target, int recursion_level, Boolean do_get, Boolean implicit)
1617 rp->target = target;
1668 * parallel_ok(target, line_prop_must_exists)
1670 * Returns true if the target can be run in parallel
1676 * target Target being tested
1683 parallel_ok(Name target, Boolean line_prop_must_exists)
1691 if (((line = get_prop(target->prop, line_prop)) == NULL) &&
1708 } else if (target->parallel) {
1710 } else if (target->no_parallel) {
1724 * is_running(target)
1726 * Returns true if the target is running.
1729 * True if target is running
1732 * target Target to check
1738 is_running(Name target)
1742 if (target->state != build_running) {
1746 rp != NULL && target != rp->target;