Hi Martin; please always reply to the mailing list: this allows everyone else to help. Also, we try to use "inline replies" on the mailing lists, rather than "top-posting" replies.
On Fri, 2021-01-08 at 08:59 +0000, Stühler, Martin wrote: > Dear Paul, > > Thanks for your fast response. I saw, that the outputs are very slow. > Therefore I changed the command @echo to $info() and this was a huge > performance different. If echo is very slow, then you must have something strange about your environment. Simply using trial-and-error to try to work around this problem is unlikely to be successful: you need to investigate the issue, understand it, and then decide how to mitigate it. Are you absolutely sure it was the echo that was slow, and not some other aspect of the makefile? Is it slow to run "echo" from your shell prompt? Maybe there's some directory on your PATH before common paths such as /bin and /usr/bin which is very slow to access, perhaps due to being remotely mounted via NFS or similar? If the slowness happens only in the context of a makefile maybe the makefile is resetting the PATH? Do your makefiles reset the SHELL variable to something else? Maybe this has an impact? Does your makefile set up LD_PRELOAD for example, which may overload some common C runtime functions to perform extra operations which are slow? It's unlikely that we'll be able to help you much. This problem is not related to make at all: it's specific to your environment. As a last resort, if you're using GNU/Linux you can try running your build (or, hopefully, some small part of your build) under the strace program (see the web for docs, or use "man strace"). You will want to use the -f or -ff option to trace the programs invoked by make, and you'll likely want to use the -r or -t (or variant) options to show the timestamps for invoking system calls. Be aware, the output here will be VOLUMINOUS especially the more of your build you run. If you use -ff you'll generate multiple files, as well. Once you have this info you'll have to search it to see which system calls seem to be taking a long time to run. > Question. Is there a change to optimize the function cp and rm? There is no built-in make functions that can perform file copy or remove operations.