Lines Matching defs:gn
350 GNode *gn = ln->datum;
351 if (strcmp(gn->name, name) == 0)
352 return gn;
573 GNode *gn = FindTransformByName(name);
574 if (gn == NULL) {
579 gn = GNode_New(name);
580 Lst_Append(&transforms, gn);
589 Lst_Done(&gn->commands);
590 Lst_Init(&gn->commands);
591 Lst_Done(&gn->children);
592 Lst_Init(&gn->children);
595 gn->type = OP_TRANSFORM;
610 return gn;
621 * gn Node for transformation
624 Suff_EndTransform(GNode *gn)
629 if ((gn->type & OP_DOUBLEDEP) && !Lst_IsEmpty(&gn->cohorts))
630 gn = gn->cohorts.last->datum;
632 if (!(gn->type & OP_TRANSFORM))
635 if (!Lst_IsEmpty(&gn->commands) || !Lst_IsEmpty(&gn->children)) {
636 DEBUG1(SUFF, "transformation %s complete\n", gn->name);
644 if (!ParseTransform(gn->name, &srcSuff, &targSuff))
797 GNode *gn = ln->datum;
798 if (UpdateTarget(gn, suff, &removedMain))
964 GNode *gn)
972 cand->node = gn;
1217 GNode *gn;
1224 gn = Targ_GetNode(name);
1227 /* Insert gn before the original child. */
1228 Lst_InsertBefore(&pgn->children, cln, gn);
1229 Lst_Append(&gn->parents, pgn);
1262 GNode *gn;
1268 gn = Targ_GetNode(start);
1269 Lst_Append(members, gn);
1304 GNode *gn = Targ_GetNode(start);
1305 Lst_Append(members, gn);
1366 GNode *gn = Lst_Dequeue(&members);
1368 DEBUG1(SUFF, "%s...", gn->name);
1369 Lst_InsertBefore(&pgn->children, cln, gn);
1370 Lst_Append(&gn->parents, pgn);
1391 ExpandAllChildren(GNode *gn)
1395 for (ln = gn->children.first; ln != NULL; ln = nln) {
1397 ExpandChildren(ln, gn);
1408 Suff_FindPath(GNode *gn)
1410 Suffix *suff = gn->suffix;
1413 char *name = gn->name;
1414 size_t nameLen = strlen(gn->name);
1420 DEBUG1(SUFF, "Wildcard expanding \"%s\"...", gn->name);
1454 GNode *gn; /* Node for the transformation rule */
1463 gn = FindTransformByName(tname);
1467 if (gn == NULL)
1477 Make_HandleUse(gn, tgn);
1504 ExpandMember(GNode *gn, const char *eoarch, GNode *mem, Suffix *memSuff)
1507 size_t nameLen = (size_t)(eoarch - gn->name);
1516 if (!ApplyTransform(gn, mem, suff, memSuff)) {
1532 FindDepsArchive(GNode *gn, CandidateSearcher *cs)
1544 eoarch = strchr(gn->name, '(');
1570 Lst_Append(&gn->children, mem);
1571 Lst_Append(&mem->parents, gn);
1572 gn->unmade++;
1575 Var_Set(gn, PREFIX, GNode_VarPrefix(mem));
1576 Var_Set(gn, TARGET, GNode_VarTarget(mem));
1586 Var_Set(gn, MEMBER, name);
1587 Var_Set(gn, ARCHIVE, gn->name);
1589 Var_Set(gn, TARGET, gn->name);
1595 ExpandAllChildren(gn);
1598 ExpandMember(gn, eoarch, mem, memSuff);
1608 * Pretend gn appeared to the left of a dependency operator so the
1612 if (!GNode_IsTarget(gn))
1613 gn->type |= OP_DEPENDS;
1632 FindDepsLib(GNode *gn)
1636 Suffix_Reassign(&gn->suffix, suff);
1637 Arch_FindLib(gn, suff->searchPath);
1639 Suffix_Unassign(&gn->suffix);
1640 Var_Set(gn, TARGET, gn->name);
1648 Var_Set(gn, PREFIX, "");
1652 FindDepsRegularKnown(const char *name, size_t nameLen, GNode *gn,
1665 targ = Candidate_New(bmake_strdup(gn->name), pref, suff, NULL,
1666 gn);
1676 FindDepsRegularUnknown(GNode *gn, const char *sopref,
1684 DEBUG1(SUFF, "\tNo known suffix on %s. Using .NULL suffix\n", gn->name);
1686 targ = Candidate_New(bmake_strdup(gn->name), bmake_strdup(sopref),
1687 nullSuff, NULL, gn);
1695 if (Lst_IsEmpty(&gn->commands))
1713 FindDepsRegularPath(GNode *gn, Candidate *targ)
1715 if (gn->type & (OP_PHONY | OP_NOPATH))
1718 free(gn->path);
1719 gn->path = Dir_FindFile(gn->name,
1721 if (gn->path == NULL)
1724 Var_Set(gn, TARGET, gn->path);
1731 size_t savep = strlen(gn->path) - targ->suff->nameLen;
1734 Suffix_Reassign(&gn->suffix, targ->suff);
1736 savec = gn->path[savep];
1737 gn->path[savep] = '\0';
1739 Var_Set(gn, PREFIX, str_basename(gn->path));
1741 gn->path[savep] = savec;
1747 Suffix_Unassign(&gn->suffix);
1748 Var_Set(gn, PREFIX, str_basename(gn->path));
1756 * gn Node for which to find sources
1762 FindDepsRegular(GNode *gn, CandidateSearcher *cs)
1775 const char *name = gn->name;
1779 DEBUG1(SUFF, "FindDepsRegular \"%s\"\n", gn->name);
1804 if (!(gn->type & OP_PHONY)) {
1806 FindDepsRegularKnown(name, nameLen, gn, &srcs, &targs);
1809 FindDepsRegularUnknown(gn, name, &srcs, &targs);
1838 Var_Set(gn, TARGET, GNode_Path(gn));
1839 Var_Set(gn, PREFIX, targ != NULL ? targ->prefix : gn->name);
1847 for (ln = gn->children.first; ln != NULL; ln = nln) {
1849 ExpandChildren(ln, gn);
1854 DEBUG1(SUFF, "\tNo valid suffix on %s\n", gn->name);
1857 FindDepsRegularPath(gn, targ);
1866 gn->type |= OP_LIB;
1871 if (!Lst_IsEmpty(&gn->children)) {
1901 * node, gn, to be replaced with the commands of the final
1917 if (targ->node != gn) {
1920 * nodes between bottom and gn (no point in questing
1933 Suffix_Reassign(&gn->suffix, src->suff);
1975 Suff_FindDeps(GNode *gn)
1981 FindDeps(gn, &cs);
1988 FindDeps(GNode *gn, CandidateSearcher *cs)
1990 if (gn->type & OP_DEPS_FOUND)
1992 gn->type |= OP_DEPS_FOUND;
1995 Var_Set(gn, TARGET, GNode_Path(gn));
1996 Var_Set(gn, PREFIX, gn->name);
1998 DEBUG1(SUFF, "SuffFindDeps \"%s\"\n", gn->name);
2000 if (gn->type & OP_ARCHV)
2001 FindDepsArchive(gn, cs);
2002 else if (gn->type & OP_LIB)
2003 FindDepsLib(gn);
2005 FindDepsRegular(gn, cs);