Fix for issues #2884086 and #2815947.
diff --git a/expat/Makefile.in b/expat/Makefile.in
index c15e62d..aea2f84 100644
--- a/expat/Makefile.in
+++ b/expat/Makefile.in
@@ -47,18 +47,18 @@
 
 DESTDIR = $(INSTALL_ROOT)
 
-default:  buildlib xmlwf/xmlwf
+default:  buildlib xmlwf/xmlwf@EXEEXT@
 
 buildlib: $(LIBRARY) expat.pc
 
-all: $(LIBRARY) expat.pc xmlwf/xmlwf examples/elements examples/outline
+all: $(LIBRARY) expat.pc xmlwf/xmlwf@EXEEXT@ examples/elements examples/outline
 
 clean:
-	cd lib && rm -f $(LIBRARY) *.o *.lo && rm -rf .libs _libs
-	cd xmlwf && rm -f xmlwf *.o *.lo && rm -rf .libs _libs
-	cd examples && rm -f elements outline *.o *.lo && rm -rf .libs _libs
-	cd tests && rm -rf .libs runtests runtests.o runtestspp runtestspp.o
-	cd tests && rm -f chardata.o minicheck.o
+	cd lib && rm -f $(LIBRARY) *.@OBJEXT@ *.lo && rm -rf .libs _libs
+	cd xmlwf && rm -f xmlwf *.@OBJEXT@ *.lo && rm -rf .libs _libs
+	cd examples && rm -f elements outline *.@OBJEXT@ *.lo && rm -rf .libs _libs
+	cd tests && rm -rf .libs runtests runtests.@OBJEXT@ runtestspp runtestspp.@OBJEXT@
+	cd tests && rm -f chardata.@OBJEXT@ minicheck.@OBJEXT@
 	rm -rf .libs libexpat.la
 	rm -f examples/core tests/core xmlwf/core
 
@@ -76,9 +76,9 @@
 	tests/runtests
 	tests/runtestspp
 
-install: xmlwf/xmlwf installlib
+install: xmlwf/xmlwf@EXEEXT@ installlib
 	$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
-	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf $(DESTDIR)$(bindir)/xmlwf
+	$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf@EXEEXT@ $(DESTDIR)$(bindir)/xmlwf
 	$(INSTALL_DATA) $(MANFILE) $(DESTDIR)$(man1dir)
 
 installlib: $(LIBRARY) $(APIHEADER) expat.pc
@@ -88,7 +88,7 @@
 	$(INSTALL_DATA) expat.pc $(DESTDIR)$(pkgconfigdir)/expat.pc
 
 uninstall: uninstalllib
-	$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(bindir)/xmlwf
+	$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(bindir)/xmlwf@EXEEXT@
 	rm -f $(DESTDIR)$(man1dir)/xmlwf.1
 
 uninstalllib:
@@ -143,30 +143,30 @@
 	$(top_builddir)/expat_config.h lib/expat_external.h lib/internal.h
 
 
-XMLWF_OBJS = xmlwf/xmlwf.o xmlwf/xmlfile.o xmlwf/codepage.o xmlwf/@FILEMAP@.o
-xmlwf/xmlwf.o: xmlwf/xmlwf.c
-xmlwf/xmlfile.o: xmlwf/xmlfile.c
-xmlwf/codepage.o: xmlwf/codepage.c
-xmlwf/@FILEMAP@.o: xmlwf/@FILEMAP@.c
-xmlwf/xmlwf: $(XMLWF_OBJS) $(LIBRARY)
+XMLWF_OBJS = xmlwf/xmlwf.@OBJEXT@ xmlwf/xmlfile.@OBJEXT@ xmlwf/codepage.@OBJEXT@ xmlwf/@FILEMAP@.@OBJEXT@
+xmlwf/xmlwf.@OBJEXT@: xmlwf/xmlwf.c
+xmlwf/xmlfile.@OBJEXT@: xmlwf/xmlfile.c
+xmlwf/codepage.@OBJEXT@: xmlwf/codepage.c
+xmlwf/@FILEMAP@.@OBJEXT@: xmlwf/@FILEMAP@.c
+xmlwf/xmlwf@EXEEXT@: $(XMLWF_OBJS) $(LIBRARY)
 	$(LINK_EXE) $(XMLWF_OBJS) $(LIBRARY)
 
-examples/elements.o: examples/elements.c
-examples/elements: examples/elements.o $(LIBRARY)
+examples/elements.@OBJEXT@: examples/elements.c
+examples/elements: examples/elements.@OBJEXT@ $(LIBRARY)
 	$(LINK_EXE) $< $(LIBRARY)
 
-examples/outline.o: examples/outline.c
-examples/outline: examples/outline.o $(LIBRARY)
+examples/outline.@OBJEXT@: examples/outline.c
+examples/outline: examples/outline.@OBJEXT@ $(LIBRARY)
 	$(LINK_EXE) $< $(LIBRARY)
 
-tests/chardata.o: tests/chardata.c tests/chardata.h
-tests/minicheck.o: tests/minicheck.c tests/minicheck.h
-tests/runtests.o: tests/runtests.c tests/chardata.h
-tests/runtests: tests/runtests.o tests/chardata.o tests/minicheck.o $(LIBRARY)
-	$(LINK_EXE) tests/runtests.o tests/chardata.o tests/minicheck.o $(LIBRARY)
-tests/runtestspp.o: tests/runtestspp.cpp tests/runtests.c tests/chardata.h
-tests/runtestspp: tests/runtestspp.o tests/chardata.o tests/minicheck.o $(LIBRARY)
-	$(LINK_CXX_EXE) tests/runtestspp.o tests/chardata.o tests/minicheck.o $(LIBRARY)
+tests/chardata.@OBJEXT@: tests/chardata.c tests/chardata.h
+tests/minicheck.@OBJEXT@: tests/minicheck.c tests/minicheck.h
+tests/runtests.@OBJEXT@: tests/runtests.c tests/chardata.h
+tests/runtests: tests/runtests.@OBJEXT@ tests/chardata.@OBJEXT@ tests/minicheck.@OBJEXT@ $(LIBRARY)
+	$(LINK_EXE) tests/runtests.@OBJEXT@ tests/chardata.@OBJEXT@ tests/minicheck.@OBJEXT@ $(LIBRARY)
+tests/runtestspp.@OBJEXT@: tests/runtestspp.cpp tests/runtests.c tests/chardata.h
+tests/runtestspp: tests/runtestspp.@OBJEXT@ tests/chardata.@OBJEXT@ tests/minicheck.@OBJEXT@ $(LIBRARY)
+	$(LINK_CXX_EXE) tests/runtestspp.@OBJEXT@ tests/chardata.@OBJEXT@ tests/minicheck.@OBJEXT@ $(LIBRARY)
 
 tests/xmlts.zip:
 	wget --output-document=tests/xmlts.zip \
@@ -175,14 +175,14 @@
 tests/XML-Test-Suite: tests/xmlts.zip
 	cd tests && unzip -q xmlts.zip
 
-run-xmltest: xmlwf/xmlwf tests/XML-Test-Suite
+run-xmltest: xmlwf/xmlwf@EXEEXT@ tests/XML-Test-Suite
 	tests/xmltest.sh
 
-.SUFFIXES: .c .cpp .lo .o
+.SUFFIXES: .c .cpp .lo .@OBJEXT@
 
-.cpp.o:
+.cpp.@OBJEXT@:
 	$(CXXCOMPILE) -o $@ -c $<
-.c.o:
+.c.@OBJEXT@:
 	$(COMPILE) -o $@ -c $<
 .c.lo:
 	$(LTCOMPILE) -o $@ -c $<