Makefile: avoid running curl-config multiple times

If the user hasn't set the CURL_LDFLAGS Makefile variable, we invoke
curl-config like this:

  CURL_LIBCURL += $(shell $(CURL_CONFIG) --libs)

Because the shell function is run when the value is expanded, we invoke
curl-config each time we need to link something (which generally ends up
being four times for a full build).

Instead, let's use an immediate Makefile variable, which only needs
expanding once. We can't combine that with the existing "+=", but since
we only do this when CURL_LDFLAGS is undefined, we can just set that
variable.

That also allows us to simplify our conditional a bit, since both sides
will then put the result into CURL_LIBCURL. While we're touching it,
let's fix the indentation to match the nearby code (we're inside an
outer conditional, so everything else is indented one level).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2020-03-26 04:06:45 -04:00 committed by Junio C Hamano
parent 274b9cc253
commit 94a88e2524

View File

@ -1364,11 +1364,10 @@ else
CURL_LIBCURL =
endif
ifdef CURL_LDFLAGS
ifndef CURL_LDFLAGS
CURL_LDFLAGS := $(shell $(CURL_CONFIG) --libs)
endif
CURL_LIBCURL += $(CURL_LDFLAGS)
else
CURL_LIBCURL += $(shell $(CURL_CONFIG) --libs)
endif
REMOTE_CURL_PRIMARY = git-remote-http$X
REMOTE_CURL_ALIASES = git-remote-https$X git-remote-ftp$X git-remote-ftps$X