From f3c7bd4004a64b6ce2c9e0f0069eedb050420c62 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Wed, 20 May 2015 09:25:50 +0200 Subject: [PATCH] makefiles: use bash subshell Avoid using make's $(shell invocation since the eval order is then somewhat different and use $$( subshell. This also fixes a problem when more then one symbol is found, since target shell has been given separate word list so the 'R' assignment would need "" around it. --- make.tmpl.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make.tmpl.in b/make.tmpl.in index 806bde4f5..731dab7ca 100644 --- a/make.tmpl.in +++ b/make.tmpl.in @@ -499,7 +499,7 @@ ifeq (,$(firstword $(EXPORTED_SYMBOLS))) echo " local:"; echo " *;"; echo "};") > $@ else set -e;\ - R=$(shell sort $^ | uniq -u);\ + R=$$(sort $^ | uniq -u);\ test -z "$$R" || { echo "Mismatch between symbols in shared library and lists in .exported_symbols.* files: $$R"; false; } ;\ for i in $(EXPORTED_SYMBOLS); do\ echo "$${i##*.} {"; echo " global:";\