Lines Matching refs:line
80 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);
82 static Doname run_command(register Property line, Boolean print_machine);
83 extern Doname execute_serial(Property line);
88 static void do_assign(register Name line, register Name target);
89 static void build_command_strings(Name target, register Property line);
90 static Doname touch_command(register Property line, register Name target, Doname result);
91 extern void update_target(Property line, Doname result);
184 Property line, source_line;
188 line = maybe_append_prop(target, line_prop);
189 line->body.line.sccs_command = false;
190 line->body.line.target = target;
191 if (line->body.line.command_template == NULL) {
192 line->body.line.command_template = source_line->body.line.command_template;
193 for (dependency = source_line->body.line.dependencies;
196 enter_dependency(line, dependency->name, false);
198 line->body.line.less = target;
200 line->body.line.percent = NULL;
270 * assign_done True if command line assgnment has happened
287 register Property line;
305 line = get_prop(target->prop, line_prop);
306 if (line != NULL) {
312 for (target_group = line->body.line.target_group;
386 if (line != NULL) {
387 line->body.line.percent = NULL;
396 if (!restart && line != NULL) {
401 for (dependency = line->body.line.dependencies;
409 (line != NULL) &&
410 (line->body.line.dependencies != NULL)) {
417 for (dependency = line->body.line.dependencies;
428 for (p = automatics, dependency = line->body.line.dependencies;
477 if ((line = get_prop(target->prop, line_prop)) != NULL) {
479 line,
493 if (line->body.line.query != NULL) {
494 delete_query_chain(line->body.line.query);
496 line->body.line.query = out_of_date_list;
575 if (line == NULL) {
576 line =
580 line->body.line.percent =
628 ((line == NULL) ||
629 ((line->body.line.target != NULL) &&
630 !line->body.line.target->has_regular_dependency))) {
669 /* Make sure we have a line prop */
670 line = maybe_append_prop(target, line_prop);
671 command = line;
675 line->body.line.dependency_time);
678 line->body.line.dependency_time);
681 line->body.line.is_out_of_date = true;
689 line->body.line.sccs_command = false;
690 line->body.line.command_template = default_rule;
691 line->body.line.target = true_target;
692 line->body.line.star = NULL;
693 line->body.line.less = true_target;
694 line->body.line.percent = NULL;
721 (command->body.line.command_template != NULL)) {
737 if ((line = get_prop(target->prop,
739 if (line->body.line.query != NULL) {
740 delete_query_chain(line->body.line.query);
742 line->body.line.query = NULL;
758 line = get_prop(target->prop, line_prop);
759 if (line != NULL) {
760 if (line->body.line.query != NULL) {
761 delete_query_chain(line->body.line.query);
763 line->body.line.query = NULL;
802 if ((line = get_prop(target->prop, line_prop)) != NULL) {
804 line,
819 if (line->body.line.query != NULL) {
820 delete_query_chain(line->body.line.query);
822 line->body.line.query = out_of_date_list;
843 if ((line = get_prop(target->prop, line_prop)) != NULL) {
844 if (line->body.line.query != NULL) {
845 delete_query_chain(line->body.line.query);
847 line->body.line.query = NULL;
897 * check_dependencies(result, line, do_get,
906 * line We get the dependencies from here
926 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)
933 line->body.line.dependency_time = file_doesnt_exist;
934 if (line->body.line.query != NULL) {
935 delete_query_chain(line->body.line.query);
937 line->body.line.query = NULL;
938 line->body.line.is_out_of_date = false;
944 for (dependency = line->body.line.dependencies;
1019 line->body.line.is_out_of_date = true;
1050 line->body.line.dependency_time =
1052 line->body.line.dependency_time);
1056 line->body.line.dependency_time.tv_nsec = 0;
1066 if (dependency->name->stat.time > line->body.line.dependency_time) {
1071 time_to_string(line->body.line.
1179 for (dependency = line->body.line.dependencies;
1185 if(tmp_line->body.line.dependency_time != file_max_time) {
1187 MAX(tmp_line->body.line.dependency_time,
1200 if (line->body.line.command_template != NULL) {
1201 if (line->body.line.command_template_redefined) {
1205 *command = line;
1210 line->body.line.dependency_time);
1213 line->body.line.dependency_time);
1217 line->body.line.is_out_of_date = true;
1220 line->body.line.sccs_command = false;
1221 line->body.line.target = true_target;
1225 if(line->body.line.dependencies != NULL) {
1226 less = line->body.line.dependencies->name;
1260 line->body.line.star = target_body;
1269 line->body.line.less = less;
1290 * Note, to enter "$@" on a dependency line in a makefile
1312 Property line;
1329 if ((line = get_prop(target->prop, line_prop)) == NULL) {
1338 for (dependency = line->body.line.dependencies;
1480 for (remove = &line->body.line.dependencies, dependency = *remove;
1523 if (read_dir(directory, p, line, library)) {
1540 * run_command(line)
1548 * line The command line to run
1552 * current_line Set to the line we run a command from
1567 run_command(register Property line, Boolean)
1571 register Name target = line->body.line.target;
1575 if (!line->body.line.is_out_of_date && target->rechecking_target) {
1584 if (line->body.line.is_out_of_date || keep_state) {
1586 if (!line->body.line.dont_rebuild_command_used) {
1587 build_command_strings(target, line);
1591 if (!line->body.line.is_out_of_date) {
1597 result = execute_parallel(line, true);
1611 line->body.line.sccs_command &&
1671 current_line = line;
1675 result = touch_command(line, target, result);
1677 result = execute_parallel(line, true);
1695 result = execute_parallel(line, true, target->localhost);
1700 line->body.line.command_used = NULL;
1702 line->body.line.dont_rebuild_command_used = true;
1706 result = execute_parallel(line, false);
1712 result = execute_parallel(line, true, target->localhost);
1717 line->body.line.command_used =
1724 result = execute_parallel(line, true, target->localhost);
1729 update_target(line, result);
1737 * execute_serial(line)
1739 * Runs thru the command line for the target and
1746 * line The command to execute
1759 execute_serial(Property line)
1767 Name target = line->body.line.target;
1772 for (rule = line->body.line.command_used;
1794 /* Echo command line, maybe. */
1802 /* Do assignment if command line prefixed with "=" */
1807 /* Execute command line. */
1837 line->body.line.command_used = NULL;
1883 * Translates one command line by
2061 * do_assign(line, target)
2066 * line The command that contains an assignment
2073 do_assign(register Name line, register Name target)
2075 Wstring wcb(line);
2109 line->string_mb,
2123 GETNAME(equal, wcb.get_string() + line->hash.length - equal),
2128 * build_command_strings(target, line)
2136 * line Where to stuff result
2145 * ignore_errors Used to init field for line
2153 * silent Used to init field for line
2156 build_command_strings(Name target, register Property line)
2159 register Cmd_line command_template = line->body.line.command_template;
2160 register Cmd_line *insert = &line->body.line.command_used;
2210 tmp_name = line->body.line.star;
2219 tmp_name = line->body.line.less;
2228 tmp_name = line->body.line.percent;
2242 for (Chain ch = line->body.line.query; ch != NULL; ch = ch->next) {
2264 for (Dependency dependency = line->body.line.dependencies;
2306 /* it in the line prop. This command sequence is then executed by */
2308 /* .make.state. The routine replaces the old command line by line with the */
2334 /* The command line prefixes "@-=?" are stripped and that */
2340 /* Expand the macros in the command line */
2386 /* Internalize the expanded and stripped command line */
2389 (line->body.line.sccs_command)) {
2423 line->body.line.is_out_of_date = true;
2444 line->body.line.is_out_of_date = true;
2459 line->body.line.is_out_of_date = true;
2483 * touch_command(line, target, result)
2492 * line The command line to update
2501 touch_command(register Property line, register Name target, Doname result)
2555 target_group = line->body.line.target_group;
2569 * update_target(line, result)
2574 * line The command line block to update
2582 update_target(Property line, Doname result)
2595 * with line==NULL.
2597 if(line == NULL) {
2602 target = line->body.line.target;
2604 if ((result == build_ok) && (line->body.line.command_used != NULL)) {
2608 (line->body.line.command_template != NULL) &&
2609 (line->body.line.command_template->command_line->string_mb[0] == 0) &&
2610 (line->body.line.command_template->next == NULL))) {
2637 for (target_group = line->body.line.target_group;
2643 line2->body.line.command_used =
2644 line->body.line.command_used;
2645 line2->body.line.target = target_group->name;
2678 register Property line;
2754 * We provide a command line for the target. The line is a
2757 line = maybe_append_prop(target, line_prop);
2758 *command = line;
2764 line->body.line.is_out_of_date = true;
2772 line->body.line.sccs_command = true;
2773 line->body.line.command_template = sccs_get_rule;
2783 line->body.line.command_template = get_posix_rule;
2787 line->body.line.target = target;
2792 line->body.line.star = NULL;
2793 line->body.line.less = NULL;
2794 line->body.line.percent = NULL;
3072 Property line;
3076 if ((line = get_prop(target->prop, line_prop)) == NULL) {
3080 for (dependency = line->body.line.dependencies;
3127 Property line;
3150 /* get line property for the target */
3151 line = get_prop(true_target->prop, line_prop);
3154 if (line != NULL && line->body.line.command_template != NULL) {