Musl 1.2.4 made the LFS64 interfaces only available when
_LARGEFILE64_SOURCE is defined, and they will be removed altogether in
Musl 1.2.5. This commit replaces the LFS64 calls with their non-LFS64
versions and defines _FILE_OFFSET_BITS=64, which makes all interfaces
64-bit.
Bug: https://bugs.gentoo.org/905999
The `clean` doesn't appear to serve a purpose. Make already does
dependency tracking, so if files are out of date they will be rebuilt.
The `clean` rule does however cause problems when the test executable
already exists. In that case it will delete outputs, including the test
executable, and then fail. By the time the test executable was deleted,
it was already determined that it was up to date, and so does not get
rebuilt. You end up having to run the command twice, each time seesawing
between deleting outputs or generating outputs and running the tests.
This PR closes some gaps in the makefile. It follows GNU coding standards and conventions at https://www.gnu.org/prep/standards/standards.html. It is not specific to GNU, and most of the world follows it.