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

Function make0

v2/engine/make.c:274–759  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 2

make1cFunction · 0.85
makeFunction · 0.85

Calls 15

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
freesettingsFunction · 0.85

Tested by

no test coverage detected