On Tue, Mar 12, 2024 at 9:32 AM Martin D Kealey <mar...@kurahaupo.gen.nz> wrote:
> In section one, the problem is that "wait -n" does not do what you think > it does. (Lots of us think this behaviour is broken, and it may be fixed in > an upcoming version of Bash.) You don't need '-n' when you specify a PID; > the fix is simply to remove it. > Thanks. I already noticed the mistake yesterday and corrected it. > > In section two, the problem is that quote removal is done BEFORE variables > are expanded, even though it prevents word splitting from being done AFTER > variable expansion. Therefore writing VAR=" \"string 1\" \"string 2\" " > absolutely cannot do what you might expect; the embedded quote marks will > be used literally, and then (because ${CFLAGS[0]} is not quoted) the > resulting string will be split on any embedded whitespace.. > > So.. how do I make the script produce the same output as the Makefile? Using 'printf <%s>' as Chet said I should, does show the difference between the two, but it doesn't fix the problem. > > On Mon, 11 Mar 2024 at 18:56, Mischa Baars <mjbaars1977.bac...@gmail.com> > wrote: > >> Hi, >> >> I'd like to compile a project of mine using multiple logical cores. >> >> I've attached the problem. It consists of two parts: >> >> 1) multi-threaded bash script and / or multi-threaded Makefile >> >> Running bash script functions as expected, but executing the same line of >> code with make and / or the command line, does not function. Perhaps >> someone could explain to me why? >> >> 2) passing a string argument from a bash script and / or Makefile to the >> gcc -D option >> >> Running the makefile functions as expected, but I have not been able to >> get >> similar code to work from a bash script. Can someone please explain to me >> what I'm doing wrong? >> >> Hope to hear from you soon. >> >> Best regards, >> Mischa Baars. >> >