* On 2025 25 Sep 13:41 -0500, Jan Engelhardt wrote: > > * diff produces a "line-by-line comparison" (terminology from the manpage). > This is highly wasteful, because in the context of Makefile, we are only > interested in a byte-by-byte comparison and stopping at the first mismatch. > Use cmp. > > * It is odd to see that they properly used --format=%cd for the first part, > but then completely forget that there is --format=%h for the second part and > instead did... barbershop nonsense with | head | cut .
I won't speculate. I do thank you for your assistance, Jan.
> Anyway. Altogether, something like
>
> hamlibdatetime.h: hamlibdatetime.h.in FORCE
> ${AM_V_at}if test -d $(top_srcdir)/.git; then \
> echo "/* This date time is from the last non-merge commit to
> Hamlib. */" >[email protected]; \
> echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git
> --git-dir=$(top_srcdir)/.git log --no-merges
> --date='format-local:%Y-%m-%dT%H:%M:%SZ SHA=' --format='%cd' -n 1)$$(git
> --git-dir=$(top_srcdir)/.git log --no-merges -n 1 --format='%h'\" >[email protected]; \
> else \
> cp ${srcdir}/hamlibdatetime.h.in [email protected]; \
> fi
> ${AM_V_at}if ! cmp $@ [email protected] >/dev/null 2>/dev/null; then mv [email protected] $@;
> fi; rm -f [email protected]
>
> might just fix it for good.
Except I did have to close a parentheses at the end of the second 'echo'
line and then add a '>' to append to the .tmp file instead of
overwriting the line from the first 'echo'.
I really appreciate the refactor and so far it seems to be working.
With your permission I will credit you as the author when I commit the
changes.
- Nate
--
"The optimist proclaims that we live in the best of all
possible worlds. The pessimist fears this is true."
Web: https://www.n0nb.us
Projects: https://github.com/N0NB
GPG fingerprint: 82D6 4F6B 0E67 CD41 F689 BBA6 FB2C 5130 D55A 8819
signature.asc
Description: PGP signature
