Lines Matching full:suffix
40 * Functions to maintain suffix lists and find implicit dependents
41 * using suffix transformation rules
71 /* We remember the longest suffix, so we don't need to look beyond that. */
91 /* conflicts between suffixes are solved by suffix declaration order. */
95 * Structure describing an individual suffix.
102 #define SUFF_PATH 0x10 /* False suffix: actually, the path keyword */
103 LIST searchPath; /* The path along which files of this suffix
123 Suff *suff; /* The suffix on the file */
142 static Suff *emptySuff; /* The empty suffix required for POSIX
143 * single-suffix transformation rules */
226 const char *p1; /* Pointer into suffix name */ in suffix_is_suffix()
291 * Insert the suffix into the list keeping the list ordered by suffix
295 * The reference count of the suffix is incremented
302 Suff *s2 = NULL; /* the suffix descriptor in this element */ in SuffInsert()
347 * pseudo suffix (.PATH)
359 /* empty string -> no suffix */ in parse_transformi()
374 /* no double suffix in there */ in parse_transformi()
394 /* can't be a suffix anyways */ in parse_transformi()
401 /* no double suffix transformation, resort to single suffix if in parse_transformi()
458 printf("suffix is \"%s\"...", s->name); in find_best_path()
477 Suff *s; /* source suffix */ in Suff_ParseAsTransform()
478 Suff *t; /* target suffix */ in Suff_ParseAsTransform()
500 gn->suffix = t; in Suff_ParseAsTransform()
537 * Add the suffix in string to the end of the list of known suffixes.
538 * Should we restructure the suffix graph? Make doesn't...
541 * A GNode is created for the suffix and a Suff structure is created and
554 Suff *s; /* new suffix descriptor */ in add_suffixi()
571 if (gn->suffix != NULL && gn->suffix != emptySuff) in find_suffix_path()
572 return &(gn->suffix->searchPath); in find_suffix_path()
638 * Add a suffix as a Src structure to the given list with its parent
639 * being the given Src structure. If the suffix is the null suffix,
648 void *sp, /* suffix for which to create a Src structure */ in SuffAddSrc()
827 Suff *suff; /* Suffix on matching beastie */ in SuffFindCmds()
845 * suffix. */ in SuffFindCmds()
850 * It even has a known suffix, see if there's a transformation in SuffFindCmds()
851 * defined between the node's suffix and the target's suffix. in SuffFindCmds()
905 Suff *t, /* Target suffix */ in SuffApplyTransform()
906 Suff *s) /* Source suffix */ in SuffApplyTransform()
997 Suff *ms; /* Suffix descriptor for member */ in SuffFindArchiveDeps()
1000 /* The node is an archive(member) pair. so we must find a suffix in SuffFindArchiveDeps()
1014 * to locate its suffix. This allows us to figure out the suffix to in SuffFindArchiveDeps()
1016 * suffix list, backtracking for each one... */ in SuffFindArchiveDeps()
1028 ms = mem->suffix; in SuffFindArchiveDeps()
1030 /* Didn't know what it was -- use .NULL suffix if not in make in SuffFindArchiveDeps()
1033 printf("using empty suffix\n"); in SuffFindArchiveDeps()
1044 * Member has a known suffix, so look for a transformation rule in SuffFindArchiveDeps()
1045 * from it to a possible suffix of the archive. Rather than in SuffFindArchiveDeps()
1047 * to which the member's suffix may be transformed... in SuffFindArchiveDeps()
1091 * subtracting the length of the suffix from the end of in record_possible_suffix()
1163 * variables and we can't do that until we know what the proper suffix in SuffFindNormalDeps()
1165 * suffix of the other) and we can't know that until we've found its in SuffFindNormalDeps()
1178 /* Handle target of unknown suffix... */ in SuffFindNormalDeps()
1181 printf("\tNo known suffix on %s. Using empty suffix\n", in SuffFindNormalDeps()
1195 /* Only use the default suffix rules if we don't have commands in SuffFindNormalDeps()
1205 printf("adding suffix rules\n"); in SuffFindNormalDeps()
1211 * suffix(es), try and find an existing file/target that matches. */ in SuffFindNormalDeps()
1215 /* No known transformations -- use the first suffix found for in SuffFindNormalDeps()
1222 /* Work up the transformation path to find the suffix of the in SuffFindNormalDeps()
1243 printf("\tNo valid suffix on %s\n", gn->name); in SuffFindNormalDeps()
1260 /* Suffix known for the thing -- trim in SuffFindNormalDeps()
1261 * the suffix off the path to form the in SuffFindNormalDeps()
1267 gn->suffix = targ->suff; in SuffFindNormalDeps()
1283 * target has no known suffix. */ in SuffFindNormalDeps()
1284 gn->suffix = NULL; in SuffFindNormalDeps()
1299 gn->suffix = targ == NULL ? NULL : targ->suff; in SuffFindNormalDeps()
1332 * used to get from the src suffix to the targ suffix. Note that this in SuffFindNormalDeps()
1343 src->node->suffix = src->suff; in SuffFindNormalDeps()
1368 gn->suffix = src->suff; in SuffFindNormalDeps()
1404 * root suffix until a file is found. I.e. if there's a path
1460 /* Create null suffix for single-suffix rules (POSIX). The thing doesn't in Suff_Init()
1461 * actually go on the suffix list as it matches everything. */ in Suff_Init()