[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [platform-testers] automake-1.16.92 released
From: |
Nick Bowler |
Subject: |
Re: [platform-testers] automake-1.16.92 released |
Date: |
Wed, 3 Jul 2024 12:58:16 -0400 |
User-agent: |
Mozilla Thunderbird |
On 2024-07-01 10:21, Zack Weinberg wrote:
> # clue Make that gen-foo also updated foo.h whenever foo.c is new
> foo.h: foo.c
> @:
>
> If I had to guess, I would guess that someone thought Make would be
> more likely to skip invoking a shell if the command was actually empty
> rather than ":". As it happens, GNU Make 4.4.1 appears to recognize
> ":" as a no-op; using strace I see it issue the same number of forks
> for both constructs. But perhaps older versions of gnumake did not do
> this. (This is clearly not a portable makefile to begin with, so
> questions of what other implementations do are moot.)
FWIW the POSIX-standard way to define a target rule with no commands it
to follow its prerequisites with a semicolon, for example:
foo.h : foo.c ;
This is supported by literally every make implementation that I am
aware of, all the way back to the original make from UNIX V7.
Cheers,
Nick