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.

Reply via email to