Re: semicolon effects

2021-04-26 Thread 積丹尼 Dan Jacobson
> "PS" == Paul Smith writes: PS> I think the behavior you're seeing is due to a bug in the older version PS> of gnulib that was used to build your version of GNU make, which as PS> since been fixed. OK. I hope so. P.S., $ make --version GNU Make 4.3 Built for x86_64-pc-linux-gnu Copyright (C)

Re: semicolon effects

2021-04-26 Thread Paul Smith
On Tue, 2021-04-27 at 05:10 +0800, 積丹尼 Dan Jacobson wrote: > > > > > > "PS" == Paul Smith writes: > PS> In the second example, the "Z" command is by itself so it's > "simple" so > PS> make uses its fast path solution, which is to fork and exec "Z" > PS> directly without a shell. Thus you get an e

Re: semicolon effects

2021-04-26 Thread 積丹尼 Dan Jacobson
> "PS" == Paul Smith writes: PS> In the second example, the "Z" command is by itself so it's "simple" so PS> make uses its fast path solution, which is to fork and exec "Z" PS> directly without a shell. Thus you get an error from make. OK, but please have the message distinguish like these d

Re: semicolon effects

2021-04-26 Thread Paul Smith
On Mon, 2021-04-26 at 06:25 +0800, Dan Jacobson wrote: > $ make B > :; Z > > /bin/sh: line 1: Z: command not found > make: *** [Makefile:2: B] Error 127 > > $ make C > : > Z > > make: Z: No such file or directory > make: *** [Makefile:5: C] Error 127 > > So we see that "the effect is the s

semicolon effects

2021-04-26 Thread Dan Jacobson
(info "(make) Rule Syntax") says The first recipe line may appear on the line after the prerequisites, with a tab character, or may appear on the same line, with a semicolon. Either way, the effect is the same. However, $ cat Makefile B:; :; Z C: : Z $ make B :