bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Exponential Runtime in make 4.4.1 when export is used


From: Till Backhaus
Subject: Re: Exponential Runtime in make 4.4.1 when export is used
Date: Tue, 10 Oct 2023 09:01:33 +0200

Thank you Eddy,

Prefix:
I reported the issue via email and the issue tracker (didn't find the signup button at first,
sent an email, found the signup button) where it's filed as
https://savannah.gnu.org/bugs/index.php?64746.

What Dimitry and you Eddy suggested definitely makes makes sense. Yet, I wish there
was a "conditional simple expansion" operator.
(https://savannah.gnu.org/bugs/index.php?64746#comment2).

https://github.com/photoprism/photoprism/blob/eb44d637f3594f328131fdd0e3e987f5ca41e8bd/Makefile
is the Makefile in question. (I'm not affiliated with photoprism, I'm just a user.)
https://github.com/photoprism/photoprism/discussions/3790 is the discussion I had with the project.

Best regards,
Till

Am Mo., 9. Okt. 2023 um 17:09 Uhr schrieb Edward Welbourne <edward.welbourne@qt.io>:
On Wed, Oct 4, 2023 at 6:09 PM Till Backhaus <till@backha.us> wrote:
>> This rather short Makefile shows exponential runtime depending on the number of variables.
>> VAR_1 ?= $(shell echo 1)

Dmitry Goncharov (6 October 2023 17:35) replied, ending:
> Prefer simply expanded variables with $(shell).

and if you really need the "only set if not already set" aspects of ?=,
use a suitable if check around the immediate assignments, e.g.

ifeq($(VAR_1),)
VAR_1 := $(shell echo 1)
endif

(and, generally, avoid using $(shell ...) for anything that can be
achieved using other make built-in functions, but I assume your real
Makefile has something more complicated as the shell command).

        Eddy.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]