Lines Matching refs:pattern
134 static void record_files PARAMS ((struct nameseq *filenames, char *pattern, char *pattern_percent,
472 char *pattern = 0, *pattern_percent;
482 record_files (filenames, pattern, pattern_percent, deps, \
489 if (pattern) { free(pattern); pattern = 0; } \
770 char *pattern;
776 pattern = savestring (p, len);
779 selective VPATH's with the same pattern. */
782 /* No pattern means remove all previous selective VPATH's. */
783 pattern = 0;
784 construct_vpath_list (pattern, p);
785 if (pattern != 0)
786 free (pattern);
1104 /* Is this a static pattern rule: `target: %targ: %dep; ...'? */
1156 fatal (fstart, _("missing target pattern"));
1159 pattern = target->name;
1160 pattern_percent = find_percent (pattern);
1162 fatal (fstart, _("target pattern contains no `%%'"));
1166 pattern = 0;
1765 If the target is a pattern, add the variable to the pattern-specific
1792 /* If it's a pattern target, then add it to the pattern-specific
1797 /* Get a reference for this pattern-specific variable struct. */
1871 If not nil, PATTERN is the `%' pattern to make this
1872 a static pattern rule, and PATTERN_PERCENT is a pointer
1879 record_files (struct nameseq *filenames, char *pattern, char *pattern_percent,
1929 if (implicit && pattern != 0)
1930 fatal (flocp, _("mixed implicit and static pattern rules"));
1959 /* If this is a static pattern rule:
1960 `targets: target%pattern: dep%pattern; cmds',
1961 make sure the pattern matches this target name. */
1962 if (pattern && !pattern_matches (pattern, pattern_percent, name))
1963 error (flocp, _("target `%s' doesn't match the target pattern"), name);
2098 /* If this is a static pattern rule, set the stem to the part of its
2099 name that matched the `%' in the pattern, so you can use $* in the
2101 if (pattern)
2105 char *o = patsubst_expand (buffer, name, pattern, percent,
2242 /* Search PATTERN for an unquoted %. */
2245 find_percent (char *pattern)
2247 return find_char_unquote (pattern, '%', 0, 0, 0);