113 write_state_file(0, false);
114 }
115 make_state->stat.time = file_no_time;
116 (void)exists(make_state);
117 before = make_state->stat.time;
118 /*
119 * Run command directly if it contains no shell meta chars,
120 * else run it using the shell.
121 */
122 if (await(ignore_error,
123 silent_error,
124 target,
125 wcb.get_string(),
126 command->meta ?
127 doshell(q, ignore_error, redirect_out_err,
128 stdout_file, stderr_file, 0) :
129 doexec(q, ignore_error, redirect_out_err,
130 stdout_file, stderr_file,
131 vroot_path, 0),
132 send_mtool_msgs,
133 #if defined(DISTRIBUTED) || defined(MAKETOOL) /* tolik */
134 get_xdrs_ptr(),
135 get_job_msg_id()
136 #else
137 NULL,
138 -1
139 #endif
140 )) {
141 result = build_ok;
142 } else {
143 result = build_failed;
144 }
145 retmem(q);
146
147 if ((report_dependencies_level == 0) &&
148 call_make) {
149 make_state->stat.time = file_no_time;
150 (void)exists(make_state);
151 if (before == make_state->stat.time) {
152 return result;
153 }
154 makefile_type = reading_statefile;
155 if (read_trace_level > 1) {
156 trace_reader = true;
157 }
158 temp_file_number++;
159 (void) read_simple_file(make_state,
|
113 write_state_file(0, false);
114 }
115 make_state->stat.time = file_no_time;
116 (void)exists(make_state);
117 before = make_state->stat.time;
118 /*
119 * Run command directly if it contains no shell meta chars,
120 * else run it using the shell.
121 */
122 if (await(ignore_error,
123 silent_error,
124 target,
125 wcb.get_string(),
126 command->meta ?
127 doshell(q, ignore_error, redirect_out_err,
128 stdout_file, stderr_file, 0) :
129 doexec(q, ignore_error, redirect_out_err,
130 stdout_file, stderr_file,
131 vroot_path, 0),
132 send_mtool_msgs,
133 NULL,
134 -1
135 )) {
136 result = build_ok;
137 } else {
138 result = build_failed;
139 }
140 retmem(q);
141
142 if ((report_dependencies_level == 0) &&
143 call_make) {
144 make_state->stat.time = file_no_time;
145 (void)exists(make_state);
146 if (before == make_state->stat.time) {
147 return result;
148 }
149 makefile_type = reading_statefile;
150 if (read_trace_level > 1) {
151 trace_reader = true;
152 }
153 temp_file_number++;
154 (void) read_simple_file(make_state,
|