- Issue #15591: Fix parsing MAKEFLAGS in the sharedmods target.
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 318bbad..62db9c1 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -436,10 +436,14 @@
# Build the shared modules
sharedmods: $(BUILDPYTHON)
- @case $$MAKEFLAGS in \
- *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
- *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
- esac
+ if which getopt >/dev/null; then \
+ mflags=`getopt s $$MAKEFLAGS 2>/dev/null | sed 's/ --.*/ /'`; \
+ else \
+ mflags=" $$MAKEFLAGS "; \
+ fi; \
+ case $$mflags in "* -s *") quiet=-q; esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ ./$(BUILDPYTHON) -E $(srcdir)/setup.py $$quiet build
# Build static library
# avoid long command lines, same as LIBRARY_OBJS