From the autoconf manual:
Commands like `cp -p' and `touch -r' typically do not copy file
timestamps to their full resolutions (*note Limitations of Usual
Tools::). Hence you should be wary of rules like this:
dest: src
cp -p src dest
as `dest' will often appear to be older than `src' after the
timestamp is truncated, and this can cause `make' to do needless
rework the next time it is invoked. To work around this problem,
you can use a timestamp file, e.g.:
dest-stamp: src
cp -p src dest
date >dest-stamp
I don't see any signs in it of `cp -p' being non-portable.