MCPcopy Create free account
hub / github.com/boostorg/build / make0

Function make0

src/engine/make.cpp:280–765  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

278 */
279
280void make0
281(
282 TARGET * t,
283 TARGET * p, /* parent */
284 int32_t depth, /* for display purposes */
285 COUNTS * counts, /* for reporting */
286 int32_t anyhow,
287 TARGET * rescanning
288) /* forcibly touch all (real) targets */
289{
290 TARGETS * c;
291 TARGET * ptime = t;
292 TARGET * located_target = 0;
293 timestamp last;
294 timestamp leaf;
295 timestamp hlast;
296 int32_t fate;
297 char const * flag = "";
298 SETTINGS * s;
299
300#ifdef OPT_GRAPH_DEBUG_EXT
301 int32_t savedFate;
302 int32_t oldTimeStamp;
303#endif
304
305 if ( DEBUG_MAKEPROG )
306 out_printf( "make\t--\t%s%s\n", spaces( depth ), object_str( t->name ) );
307
308 /*
309 * Step 1: Initialize.
310 */
311
312 if ( DEBUG_MAKEPROG )
313 out_printf( "make\t--\t%s%s\n", spaces( depth ), object_str( t->name ) );
314
315 t->fate = T_FATE_MAKING;
316 t->depth = depth;
317
318 /*
319 * Step 2: Under the influence of "on target" variables, bind the target and
320 * search for headers.
321 */
322
323 /* Step 2a: Set "on target" variables. */
324 s = copysettings( t->settings );
325 pushsettings( root_module(), s );
326
327 /* Step 2b: Find and timestamp the target file (if it is a file). */
328 if ( ( t->binding == T_BIND_UNBOUND ) && !( t->flags & T_FLAG_NOTFILE ) )
329 {
330 OBJECT * another_target;
331 object_free( t->boundname );
332 t->boundname = search( t->name, &t->time, &another_target,
333 t->flags & T_FLAG_ISFILE );
334 /* If it was detected that this target refers to an already existing and
335 * bound target, we add a dependency so that every target depending on
336 * us will depend on that other target as well.
337 */

Callers 2

make1cFunction · 0.85
makeFunction · 0.85

Calls 15

out_printfFunction · 0.85
object_strFunction · 0.85
copysettingsFunction · 0.85
pushsettingsFunction · 0.85
root_moduleFunction · 0.85
object_freeFunction · 0.85
searchFunction · 0.85
bindtargetFunction · 0.85
timestamp_emptyFunction · 0.85
var_getFunction · 0.85
headersFunction · 0.85
popsettingsFunction · 0.85

Tested by

no test coverage detected