[tz] [PROPOSED 02/12] Prefer $(CMD) to `CMD` in Makefile
Paul Eggert
eggert at cs.ucla.edu
Sat Jun 1 18:33:47 UTC 2024
This is OK as Makefile now assumes POSIX.2-1992 or later.
* Makefile (TARFLAGS, install, version, tzdata.zi)
(version.h, $(TZS_NEW), tzselect, white-space.check)
(CHECK_NOW_TIMESTAMP, SET_TIMESTAMP_N, set-timestamps.out)
($(TIME_T_ALTERNATIVES), signatures, rearguard_signatures)
(traditional_signatures, version, set-timestamp.out, rearguard.zi)
(vanguard.zi, tzdata$(VERSION)-tailored.tar.gz, long-long.check)
(unsigned.check):
Use $(CMD) instead of `CMD` in the Makefile, as this
is less error-prone.
---
Makefile | 56 ++++++++++++++++++++++++++++----------------------------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/Makefile b/Makefile
index 7a2cb00d..061a6d84 100644
--- a/Makefile
+++ b/Makefile
@@ -542,10 +542,10 @@ OK_LINE= '^'$(OK_CHAR)'*$$'
GNUTARFLAGS= --format=pax --pax-option='delete=atime,delete=ctime' \
--numeric-owner --owner=0 --group=0 \
--mode=go+u,go-w --sort=name
-TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
- then echo $(GNUTARFLAGS); \
- else :; \
- fi`
+TARFLAGS= $$(if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
+ then echo $(GNUTARFLAGS); \
+ else :; \
+ fi)
# Flags to give 'gzip' when making a distribution.
GZIPFLAGS= -9n
@@ -646,8 +646,8 @@ install: all $(DATA) $(REDO) $(MANS)
'$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \
'$(DESTDIR)$(MANDIR)/man8'
$(ZIC_INSTALL) -l $(LOCALTIME) \
- `case '$(POSIXRULES)' in ?*) echo '-p';; esac \
- ` $(POSIXRULES) \
+ $$(case '$(POSIXRULES)' in ?*) echo ' -p';; esac) \
+ $(POSIXRULES) \
-t '$(DESTDIR)$(TZDEFAULT)'
cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
cp tzselect '$(DESTDIR)$(BINDIR)/.'
@@ -670,9 +670,9 @@ INSTALL: ALL install date.1
# and append "-dirty" if the contents do not already end in "-dirty".
version: $(VERSION_DEPS)
{ (type git) >/dev/null 2>&1 && \
- V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
- --abbrev=7 --dirty` || \
- if test '$(VERSION)' = unknown && V=`cat $@`; then \
+ V=$$(git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \
+ --abbrev=7 --dirty) || \
+ if test '$(VERSION)' = unknown && V=$$(cat $@); then \
case $$V in *-dirty);; *) V=$$V-dirty;; esac; \
else \
V='$(VERSION)'; \
@@ -692,7 +692,7 @@ vanguard.zi main.zi rearguard.zi: $(DSTDATA_ZI_DEPS)
# This file has a version comment that attempts to capture any tailoring
# via BACKWARD, DATAFORM, PACKRATDATA, PACKRATLIST, and REDO.
tzdata.zi: $(DATAFORM).zi version zishrink.awk
- version=`sed 1q version` && \
+ version=$$(sed 1q version) && \
LC_ALL=C $(AWK) \
-v dataform='$(DATAFORM)' \
-v deps='$(DSTDATA_ZI_DEPS) zishrink.awk' \
@@ -713,7 +713,7 @@ tzdir.h:
mv $@.out $@
version.h: version
- VERSION=`cat version` && printf '%s\n' \
+ VERSION=$$(cat version) && printf '%s\n' \
'static char const PKGVERSION[]="($(PACKAGE)) ";' \
"static char const TZVERSION[]=\"$$VERSION\";" \
'static char const REPORT_BUGS_TO[]="$(BUGEMAIL)";' \
@@ -816,10 +816,10 @@ $(TZS_NEW): $(TZS_NEW_DEPS)
$(zic) -d tzs$(TZS_YEAR).dir tzdata.zi
$(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \
tzdata.zi | LC_ALL=C sort >$@.out
- wd=`pwd` && \
- x=`$(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \
+ wd=$$(pwd) && \
+ x=$$($(AWK) '/^Z/{print "tzs$(TZS_YEAR).dir/" $$2 ".zd"}' \
tzdata.zi \
- | LC_ALL=C sort -t . -k 2,2` && \
+ | LC_ALL=C sort -t . -k 2,2) && \
set x $$x && \
shift && \
ZDS=$$* && \
@@ -846,7 +846,7 @@ date: $(DATEOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS)
tzselect: tzselect.ksh version
- VERSION=`cat version` && sed \
+ VERSION=$$(cat version) && sed \
-e "s'#!/bin/bash'#!"'$(KSHELL)'\' \
-e s\''\(AWK\)=[^}]*'\''\1=\'\''$(AWK)\'\'\' \
-e s\''\(PKGVERSION\)=.*'\''\1=\'\''($(PACKAGE)) \'\'\' \
@@ -888,7 +888,7 @@ character-set.ck: $(ENCHILADA)
white-space.ck: $(ENCHILADA)
$(UTF8_LOCALE_MISSING) || { \
- patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \
+ patfmt=' \t|[\f\r\v]' && pat=$$(printf "$$patfmt\\n") && \
! grep -En "$$pat|[$s]\$$" \
$$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list); \
}
@@ -942,7 +942,7 @@ links.ck: checklinks.awk tzdata.zi
# that zonenow.tab contains all sequences of planned timestamps,
# without any duplicate sequences. In theory this might require
# 2800+ years but that would take a long time to check.
-CHECK_NOW_TIMESTAMP = `./date +%s`
+CHECK_NOW_TIMESTAMP = $$(./date +%s)
CHECK_NOW_FUTURE_YEARS = 28
CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) * 366 * 24 * 60 * 60
now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab
@@ -1070,13 +1070,13 @@ SET_TIMESTAMP_N = sh -c '\
n=$$0 dest=$$1; shift; \
<"$$dest" && \
if test $$n != 0 && \
- lsout=`ls -nt --time-style="+%s" "$$@" 2>/dev/null`; then \
+ lsout=$$(ls -nt --time-style="+%s" "$$@" 2>/dev/null); then \
set x $$lsout && \
timestamp=$$(($$7 + $$n)) && \
echo "+ touch -md @$$timestamp $$dest" && \
touch -md @$$timestamp "$$dest"; \
else \
- newest=`ls -t "$$@" | sed 1q` && \
+ newest=$$(ls -t "$$@" | sed 1q) && \
echo "+ touch -mr $$newest $$dest" && \
touch -mr "$$newest" "$$dest"; \
fi'
@@ -1099,15 +1099,15 @@ SET_TIMESTAMP_DEP = $(SET_TIMESTAMP_N) 1
set-timestamps.out: $(EIGHT_YARDS)
rm -f $@
if (type git) >/dev/null 2>&1 && \
- files=`git ls-files $(EIGHT_YARDS)` && \
+ files=$$(git ls-files $(EIGHT_YARDS)) && \
touch -md @1 test.out; then \
rm -f test.out && \
for file in $$files; do \
if git diff --quiet $$file; then \
- time=`TZ=UTC0 git log -1 \
+ time=$$(TZ=UTC0 git log -1 \
--format='tformat:%cd' \
--date='format:%Y-%m-%dT%H:%M:%SZ' \
- $$file` && \
+ $$file) && \
echo "+ touch -md $$time $$file" && \
touch -md $$time $$file; \
else \
@@ -1116,7 +1116,7 @@ set-timestamps.out: $(EIGHT_YARDS)
done; \
fi
$(SET_TIMESTAMP_DEP) leapseconds $(LEAP_DEPS)
- for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \
+ for file in $$(ls $(MANTXTS) | sed 's/\.txt$$//'); do \
$(SET_TIMESTAMP_DEP) $$file.txt $$file workman.sh || \
exit; \
done
@@ -1168,8 +1168,8 @@ $(TIME_T_ALTERNATIVES): $(VERSION_DEPS)
u*) range=0,4294967296;; \
*) range=-4294967296,4294967296;; \
esac && \
- wd=`pwd` && \
- zones=`$(AWK) '/^[^#]/ { print $$3 }' <zone1970.tab` && \
+ wd=$$(pwd) && \
+ zones=$$($(AWK) '/^[^#]/ { print $$3 }' <zone1970.tab) && \
if test $@ = $(TIME_T_ALTERNATIVES_HEAD); then \
range_target=; \
else \
@@ -1214,7 +1214,7 @@ ALL_ASC = $(TRADITIONAL_ASC) $(REARGUARD_ASC) \
tarballs rearguard_tarballs tailored_tarballs traditional_tarballs \
signatures rearguard_signatures traditional_signatures: \
version set-timestamps.out rearguard.zi vanguard.zi
- VERSION=`cat version` && \
+ VERSION=$$(cat version) && \
$(MAKE) AWK='$(AWK)' VERSION="$$VERSION" $@_version
# These *_version rules are intended for use if VERSION is set by some
@@ -1286,7 +1286,7 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out
: The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier.
cd $@.dir && \
$(CREATE_EMPTY) $(PRIMARY_YDATA) $(NDATA) backward \
- `test $(DATAFORM) = vanguard || echo pacificnew`
+ $$(test $(DATAFORM) = vanguard || echo pacificnew)
(grep '^#' tzdata.zi && echo && cat $(DATAFORM).zi) \
>$@.dir/etcetera
touch -mr tzdata.zi $@.dir/etcetera
@@ -1340,7 +1340,7 @@ long-long.ck unsigned.ck: $(VERSION_DEPS)
esac && \
$(MAKE) \
CFLAGS="$(TYPECHECK_CFLAGS) \"-Dtime_t=$$i\"" \
- TOPDIR="`pwd`" \
+ TOPDIR="$$(pwd)" \
install
$@d/zdump -i -c 1970,1971 Europe/Rome
touch $@
--
2.45.1
More information about the tz
mailing list