On Thu, 2017-09-14 at 13:52 +0200, Sébastien Hinderer wrote: > Of course this does not work because the first closing parenthesis is > interpreted as ending the call to the shell function. > > Is there a way to actually achieve this, please?
You have at least three choices: First, use the matched parenthesis form of case; this is valid POSIX shell syntax (and I prefer it even in normal shell scripts as it makes editor matching etc. simpler): case "$target" in (i386-*-) echo foo ;; (*) ;; esac Make will count the open/close parens properly. Or second, you could use the curly-brace form of variable/function invocation instead, like: ${shell ... } so make will ignore mismatched parentheses. Or third, you can assign a variable to the close-paren and use that instead: CP := ) $(shell ... *$(CP) ;; ...) Make always parses to the end of the variable or function first, before it tries to expand what's inside. _______________________________________________ Help-make mailing list Help-make@gnu.org https://lists.gnu.org/mailman/listinfo/help-make