Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 May 2007 14:22:09 +0400
From:      "Andrew Pantyukhin" <infofarmer@FreeBSD.org>
To:        "Alexander Leidinger" <Alexander@leidinger.net>
Cc:        gnome@freebsd.org, Stephen Montgomery-Smith <stephen@math.missouri.edu>, freebsd-ports@freebsd.org, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: More speed increases for make-ing ports
Message-ID:  <cb5206420705220322n70b8e502l1f6de6b5564cd4b1@mail.gmail.com>
In-Reply-To: <20070522110359.dwce59oaowkc400o@webmail.leidinger.net>
References:  <465291FB.4010901@math.missouri.edu> <20070522071941.GB59910@xor.obsecurity.org> <cb5206420705220055x708caacdk766a19757c575981@mail.gmail.com> <20070522110359.dwce59oaowkc400o@webmail.leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 5/22/07, Alexander Leidinger <Alexander@leidinger.net> wrote:
> Quoting Andrew Pantyukhin <infofarmer@FreeBSD.org> (from Tue, 22 May
> 2007 11:55:39 +0400):
>
> > On 5/22/07, Kris Kennaway <kris@obsecurity.org> wrote:
> >> On Tue, May 22, 2007 at 01:47:23AM -0500, Stephen Montgomery-Smith wrote:
> >>> This small modification cuts off about 25% off pkg_version on my system.
> >>>
> >>> Basically bsd.gnome.mk recursively finds all the dependencies, but many
> >>> of them are listed many times.  This makes make work extra hard when it
> >>> doesn't have to.  I simply weed out the repeated entries.
> >>>
> >>
> >>> --- bsd.gnome.mk-orig Tue May 22 01:29:08 2007
> >>> +++ bsd.gnome.mk      Tue May 22 01:29:22 2007
> >>> @@ -655,6 +655,8 @@
> >>>  _USE_GNOME+= ${${component}_USE_GNOME_IMPL} ${component}
> >>>  . endfor
> >>>
> >>> +_USE_GNOME!=(for i in ${_USE_GNOME}; do ${ECHO_CMD} $$i; done) | sort -u
> >>> +
> >>>  # Setup the GTK+ API version for pixbuf loaders, input method modules,
> >>>  # and theme engines.
> >>>  PLIST_SUB+=                  GTK2_VERSION="${GTK2_VERSION}"
> >>
> >> Be careful, != assignments may add thousands of process invocations to
> >> large targets like 'make index' and can slow it down dramatically.
> >
> > Right, and uniqueness logic can be implemented in make.
>
> Be proactive and tell/point out how... :)

TMTOWTDI. There are several examples in bsd.*.mk. The
obvious one is "flags" (you set or unset flag vars
first, then traverse them and add what you need to
the list). In recent versions of our make you can
also use ${VAR:O:u}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cb5206420705220322n70b8e502l1f6de6b5564cd4b1>