On 12/28/24 12:07, Simon Josefsson wrote:
I tried on cfarm's AIX 7.1 and 7.3 with /usr/bin/make and
libidn and it worked fine.
Oh, I thought AIX had the problem because it exhibits this behavior:
$ echo 't: s; cp -p s t' >Makefile
$ touch s
$ make
cp -p s t
$ make
cp -p s t
But it turns out that this happened because AIX cp -p is buggy: it loses
the fractional part of mtime, which means that 'cp -p s t' creates a
file t that is "older" than s.
HP-UX 'make' does behave the way I described - at least, that's what
POSIX.1-2017 says here:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html#tag_20_76_18
POSIX.1-2024 still recommends the HP-UX behavior though it no longer
says "HP-UX", presumably because HP-UX is scheduled to be EOLed in 2026:
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/make.html#tag_20_76_18
I am still leery of relying on GNU Make's behavior in this area. It's
not just portability to HP-UX: it's that the HP-UX behavior is safer,
and some 'make' implementers are likely to choose safety over efficiency.