for( i = T_DEPS_DEPENDS; i <= T_DEPS_INCLUDES; i++ ) for( c = t->deps[i]; c && !intr; c = c->next ) make1a( c->target, t );
{ stack temp_stack = { NULL }; for( i = T_DEPS_DEPENDS; i <= T_DEPS_INCLUDES; i++ ) for( c = pState->t->deps[i]; c && !intr; c = c->next ) { push_state(&temp_stack, c->target, pState->t, T_STATE_MAKE1A); }
make1a( 	TARGET	*t,	TARGET	*parent ){	TARGETS	*c;	int i;	/* If the parent is the first to try to build this target */	/* or this target is in the make1c() quagmire, arrange for the */	/* parent to be notified when this target is built. */	if( parent )	    switch( t->progress )	{	case T_MAKE_INIT:	case T_MAKE_ACTIVE:	case T_MAKE_RUNNING:	    t->parents = targetentry( t->parents, parent );	    parent->asynccnt++;	}	if( t->progress != T_MAKE_INIT )	    return;	/* Asynccnt counts the dependents preventing this target from */	/* proceeding to make1b() for actual building.  We start off with */	/* a count of 1 to prevent anything from happening until we can */	/* call all dependents.  This 1 is accounted for when we call */	/* make1b() ourselves, below. */	t->asynccnt = 1;	/* Recurse on our dependents, manipulating progress to guard */	/* against circular dependency. */	t->progress = T_MAKE_ONSTACK;	for( i = T_DEPS_DEPENDS; i <= T_DEPS_INCLUDES; i++ )	    for( c = t->deps[i]; c && !intr; c = c->next )		make1a( c->target, t );	t->progress = T_MAKE_ACTIVE;	/* Now that all dependents have bumped asynccnt, we now allow */	/* decrement our reference to asynccnt. */ 	make1b( t );}