Gary V. Vaughan wrote:
Replacing the $(...) with back ticks fixes the parse problem for me, though I'm 
not sure whether it's the odd looking dangling `|| exit 1` or the POSIX command 
substitution paren matching interacting badly with nested `cd $(srcdir)`?

Neither sounds plausible, so I'm afraid it's another bug
in your 'make' implementation or something like that.
I'd rathar understand what the real bug is before
slapping on a patch like that.

What happens if you put that text:

if test -d ./.git                               \
                && git --version >/dev/null 2>&1; then                  \
          diff=$(cd . && git submodule -q foreach                       \
                 git diff-index --name-only HEAD)                       \
            || exit 1;                                                  \
          case $diff in '') ;;                                          \
            *) echo 'maint.mk: submodule files are locally modified:';  \
                echo "$diff"; exit 1;; esac;                            \
        else                                                            \
          : ;                                                           \
        fi

into a file "FOO" and then type "bash -x ./FOO"?  That doesn't give
me a syntax error; does it give you one?  If so, what?  And if not,
then why not, since that's what 'make' says it's running?

Reply via email to