Lines Matching defs:line

82 static	Boolean		check_dependencies(Doname *result, Property line, Boolean do_get, Name target, Name true_target, Boolean doing_subtree, Chain *out_of_date_tail, Property old_locals, Boolean implicit, Property *command, Name less, Boolean rechecking_target, Boolean recheck_conditionals);
84 static Doname run_command(register Property line, Boolean print_machine);
85 extern Doname execute_serial(Property line);
90 static void do_assign(register Name line, register Name target);
91 static void build_command_strings(Name target, register Property line);
92 static Doname touch_command(register Property line, register Name target, Doname result);
93 extern void update_target(Property line, Doname result);
186 Property line, source_line;
190 line = maybe_append_prop(target, line_prop);
191 line->body.line.sccs_command = false;
192 line->body.line.target = target;
193 if (line->body.line.command_template == NULL) {
194 line->body.line.command_template = source_line->body.line.command_template;
195 for (dependency = source_line->body.line.dependencies;
198 enter_dependency(line, dependency->name, false);
200 line->body.line.less = target;
202 line->body.line.percent = NULL;
272 * assign_done True if command line assgnment has happened
289 register Property line;
307 line = get_prop(target->prop, line_prop);
308 if (line != NULL) {
314 for (target_group = line->body.line.target_group;
388 if (line != NULL) {
389 line->body.line.percent = NULL;
398 if (!restart && line != NULL) {
403 for (dependency = line->body.line.dependencies;
411 (line != NULL) &&
412 (line->body.line.dependencies != NULL)) {
419 for (dependency = line->body.line.dependencies;
430 for (p = automatics, dependency = line->body.line.dependencies;
479 if ((line = get_prop(target->prop, line_prop)) != NULL) {
481 line,
495 if (line->body.line.query != NULL) {
496 delete_query_chain(line->body.line.query);
498 line->body.line.query = out_of_date_list;
577 if (line == NULL) {
578 line =
582 line->body.line.percent =
630 ((line == NULL) ||
631 ((line->body.line.target != NULL) &&
632 !line->body.line.target->has_regular_dependency))) {
671 /* Make sure we have a line prop */
672 line = maybe_append_prop(target, line_prop);
673 command = line;
677 line->body.line.dependency_time);
680 line->body.line.dependency_time);
683 line->body.line.is_out_of_date = true;
691 line->body.line.sccs_command = false;
692 line->body.line.command_template = default_rule;
693 line->body.line.target = true_target;
694 line->body.line.star = NULL;
695 line->body.line.less = true_target;
696 line->body.line.percent = NULL;
723 (command->body.line.command_template != NULL)) {
739 if ((line = get_prop(target->prop,
741 if (line->body.line.query != NULL) {
742 delete_query_chain(line->body.line.query);
744 line->body.line.query = NULL;
760 line = get_prop(target->prop, line_prop);
761 if (line != NULL) {
762 if (line->body.line.query != NULL) {
763 delete_query_chain(line->body.line.query);
765 line->body.line.query = NULL;
804 if ((line = get_prop(target->prop, line_prop)) != NULL) {
806 line,
821 if (line->body.line.query != NULL) {
822 delete_query_chain(line->body.line.query);
824 line->body.line.query = out_of_date_list;
845 if ((line = get_prop(target->prop, line_prop)) != NULL) {
846 if (line->body.line.query != NULL) {
847 delete_query_chain(line->body.line.query);
849 line->body.line.query = NULL;
899 * check_dependencies(result, line, do_get,
908 * line We get the dependencies from here
928 check_dependencies(Doname *result, Property line, Boolean do_get, Name target, Name true_target, Boolean doing_subtree, Chain *out_of_date_tail, Property old_locals, Boolean implicit, Property *command, Name less, Boolean rechecking_target, Boolean recheck_conditionals)
935 line->body.line.dependency_time = file_doesnt_exist;
936 if (line->body.line.query != NULL) {
937 delete_query_chain(line->body.line.query);
939 line->body.line.query = NULL;
940 line->body.line.is_out_of_date = false;
946 for (dependency = line->body.line.dependencies;
1021 line->body.line.is_out_of_date = true;
1052 line->body.line.dependency_time =
1054 line->body.line.dependency_time);
1058 line->body.line.dependency_time.tv_nsec = 0;
1068 if (dependency->name->stat.time > line->body.line.dependency_time) {
1073 time_to_string(line->body.line.
1181 for (dependency = line->body.line.dependencies;
1187 if(tmp_line->body.line.dependency_time != file_max_time) {
1189 MAX(tmp_line->body.line.dependency_time,
1202 if (line->body.line.command_template != NULL) {
1203 if (line->body.line.command_template_redefined) {
1207 *command = line;
1212 line->body.line.dependency_time);
1215 line->body.line.dependency_time);
1219 line->body.line.is_out_of_date = true;
1222 line->body.line.sccs_command = false;
1223 line->body.line.target = true_target;
1227 if(line->body.line.dependencies != NULL) {
1228 less = line->body.line.dependencies->name;
1262 line->body.line.star = target_body;
1271 line->body.line.less = less;
1292 * Note, to enter "$@" on a dependency line in a makefile
1314 Property line;
1331 if ((line = get_prop(target->prop, line_prop)) == NULL) {
1340 for (dependency = line->body.line.dependencies;
1482 for (remove = &line->body.line.dependencies, dependency = *remove;
1525 if (read_dir(directory, p, line, library)) {
1542 * run_command(line)
1550 * line The command line to run
1554 * current_line Set to the line we run a command from
1569 run_command(register Property line, Boolean)
1573 register Name target = line->body.line.target;
1577 if (!line->body.line.is_out_of_date && target->rechecking_target) {
1586 if (line->body.line.is_out_of_date || keep_state) {
1588 if (!line->body.line.dont_rebuild_command_used) {
1589 build_command_strings(target, line);
1593 if (!line->body.line.is_out_of_date) {
1599 result = execute_parallel(line, true);
1613 line->body.line.sccs_command &&
1673 current_line = line;
1677 result = touch_command(line, target, result);
1679 result = execute_parallel(line, true);
1697 result = execute_parallel(line, true, target->localhost);
1702 line->body.line.command_used = NULL;
1704 line->body.line.dont_rebuild_command_used = true;
1708 result = execute_parallel(line, false);
1714 result = execute_parallel(line, true, target->localhost);
1719 line->body.line.command_used =
1726 result = execute_parallel(line, true, target->localhost);
1731 update_target(line, result);
1739 * execute_serial(line)
1741 * Runs thru the command line for the target and
1748 * line The command to execute
1761 execute_serial(Property line)
1769 Name target = line->body.line.target;
1774 for (rule = line->body.line.command_used;
1796 /* Echo command line, maybe. */
1804 /* Do assignment if command line prefixed with "=" */
1809 /* Execute command line. */
1839 line->body.line.command_used = NULL;
1885 * Translates one command line by
2063 * do_assign(line, target)
2068 * line The command that contains an assignment
2075 do_assign(register Name line, register Name target)
2077 Wstring wcb(line);
2111 line->string_mb,
2125 GETNAME(equal, wcb.get_string() + line->hash.length - equal),
2130 * build_command_strings(target, line)
2138 * line Where to stuff result
2147 * ignore_errors Used to init field for line
2155 * silent Used to init field for line
2158 build_command_strings(Name target, register Property line)
2161 register Cmd_line command_template = line->body.line.command_template;
2162 register Cmd_line *insert = &line->body.line.command_used;
2212 tmp_name = line->body.line.star;
2221 tmp_name = line->body.line.less;
2230 tmp_name = line->body.line.percent;
2244 for (Chain ch = line->body.line.query; ch != NULL; ch = ch->next) {
2266 for (Dependency dependency = line->body.line.dependencies;
2308 /* it in the line prop. This command sequence is then executed by */
2310 /* .make.state. The routine replaces the old command line by line with the */
2336 /* The command line prefixes "@-=?" are stripped and that */
2342 /* Expand the macros in the command line */
2388 /* Internalize the expanded and stripped command line */
2391 (line->body.line.sccs_command)) {
2425 line->body.line.is_out_of_date = true;
2446 line->body.line.is_out_of_date = true;
2461 line->body.line.is_out_of_date = true;
2485 * touch_command(line, target, result)
2494 * line The command line to update
2503 touch_command(register Property line, register Name target, Doname result)
2557 target_group = line->body.line.target_group;
2571 * update_target(line, result)
2576 * line The command line block to update
2584 update_target(Property line, Doname result)
2597 * with line==NULL.
2599 if(line == NULL) {
2604 target = line->body.line.target;
2606 if ((result == build_ok) && (line->body.line.command_used != NULL)) {
2610 (line->body.line.command_template != NULL) &&
2611 (line->body.line.command_template->command_line->string_mb[0] == 0) &&
2612 (line->body.line.command_template->next == NULL))) {
2639 for (target_group = line->body.line.target_group;
2645 line2->body.line.command_used =
2646 line->body.line.command_used;
2647 line2->body.line.target = target_group->name;
2680 register Property line;
2756 * We provide a command line for the target. The line is a
2759 line = maybe_append_prop(target, line_prop);
2760 *command = line;
2766 line->body.line.is_out_of_date = true;
2774 line->body.line.sccs_command = true;
2775 line->body.line.command_template = sccs_get_rule;
2785 line->body.line.command_template = get_posix_rule;
2789 line->body.line.target = target;
2794 line->body.line.star = NULL;
2795 line->body.line.less = NULL;
2796 line->body.line.percent = NULL;
3078 Property line;
3082 if ((line = get_prop(target->prop, line_prop)) == NULL) {
3086 for (dependency = line->body.line.dependencies;
3133 Property line;
3156 /* get line property for the target */
3157 line = get_prop(true_target->prop, line_prop);
3160 if (line != NULL && line->body.line.command_template != NULL) {