]> git.draconx.ca Git - dxcommon.git/commitdiff
fix-gnulib: Fix order-only hack with HP-UX make.
authorNick Bowler <nbowler@draconx.ca>
Sun, 7 Mar 2021 05:57:08 +0000 (00:57 -0500)
committerNick Bowler <nbowler@draconx.ca>
Wed, 10 Mar 2021 01:42:54 +0000 (20:42 -0500)
HP-UX make gets confused by the space in $(findstring ...,$(...))
syntax: instead of expanding to the empty string as desired, it
mismatches the parentheses and we are left with a single ).  E.g.:

  % cat >Makefile <<'EOF'
  all:
@echo '$(a $(b))'
EOF
  % make
  )

Since $(x) and ${x} are equivalent in Make, a neat solution is to
just replace one set of parentheses with braces; now there are no
nested parentheses to mismatch in the first place.

scripts/fix-gnulib.pl

index 16eac47a09bb585c763854a5c891faf9dbb9c874..51bdf59d54ce09f2cc46000d943e31e2f0b50f0b 100755 (executable)
@@ -145,7 +145,7 @@ m4_unquote(m4_argn([2], [
 
 # This trick should define gnulib_orderonly to | iff we're using GNU make.
 gnulib_make_features = $(.FEATURES)
 
 # This trick should define gnulib_orderonly to | iff we're using GNU make.
 gnulib_make_features = $(.FEATURES)
-gnulib_have_orderonly = $(findstring order-only,$(gnulib_make_features))
+gnulib_have_orderonly = $(findstring order-only,${gnulib_make_features})
 gnulib_orderonly = $(gnulib_have_orderonly:order-only=|)
 gnulib_core_headers =
 gnulib_raw_headers = $(gnulib_core_headers)
 gnulib_orderonly = $(gnulib_have_orderonly:order-only=|)
 gnulib_core_headers =
 gnulib_raw_headers = $(gnulib_core_headers)