Re: Question to EXTRACT_ONLY

From: Gleb Popov <arrowd_at_freebsd.org>
Date: Tue, 29 Nov 2022 06:47:48 UTC
On Tue, Nov 29, 2022 at 12:14 AM Matthias Fechner <idefix@fechner.net> wrote:
>
> Dear all,
>
> I found some good explanation in `man make`, but some questions are
> open, maybe someone can give a little bit more insight.
>
> On 28.11.22 19:12, Matthias Fechner wrote:
> > EXTRACT_ONLY= ${ALLFILES:Nprebuilt*:}
> it takes the variable ${ALLFILES}, the :N operator removes everything
> that matches, so in this case every string that begins with prebuilt is
> removed.
> But what does the last `:` at the end of this string?
> >
> > EXTRACT_ONLY+= ${DISTFILES:N*.mod\:*:N*.mod:C/:.*//}
>
> So if I understood this correctly at takes the variable ${DISTFILES} and
> removes everything that matches `*.mod:*`.
> Then as next it removes everything that matches `*.mod`.
> As last step a regular expression is executed that removes `:*` (the *
> is here any character), so the string `ksdjhe:sdhg34` is changed to
> `ksdjhe`.

This one is a correct interpretation.

As for the first one, I'm also unsure about the last ":" Maybe it is a
part of the :N argument?