diff --git a/configure.ac b/configure.ac
index 157e97456753466918298af02694e40dc0f19ef6..7a8c80af9cb038ca22e70e5846a83f812939dfdb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,7 +32,6 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_HEADERS([config.h src/xercesc/util/Xerces_autoconf_config.hpp])
 AC_CONFIG_FILES([Makefile \
                  src/Makefile \
-                 src/xercesc/util/MsgLoaders/ICU/resources/Makefile \
                  src/xercesc/util/MsgLoaders/MsgCatalog/Makefile \
                  tests/Makefile \
                  samples/Makefile \
diff --git a/src/Makefile.am b/src/Makefile.am
index f95c481fd84d3744b9644d4c7580beeba862942e..3f077b9ee361eefdfdf43cf4f8306e3f3a5f7977 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -36,8 +36,8 @@ AM_CXXFLAGS = $(ICU_CXXFLAGS)
 
 libxerces_c_la_LDFLAGS = -release ${INTERFACE_VER_D}
 
- # This sets {install}/include as target for the headers
- libxerces_c_ladir = ${includedir}
+# This sets {install}/include as target for the headers
+libxerces_c_ladir = ${includedir}
 
 
 libxerces_c_la_SOURCES = ${util_sources} ${dom_sources} ${domimpl_sources} \
@@ -126,7 +126,19 @@ libxerces_c_la_SOURCES += ${msgicu_sources}
 nobase_libxerces_c_la_HEADERS += ${msgicu_headers}
 AM_CPPFLAGS += -I${ICU_PREFIX}/include
 
-SUBDIRS += xercesc/util/MsgLoaders/ICU/resources
+# Resource shortname
+PKGNAME=xercesc_messages_${INTERFACE_VER_U}
+
+CLEANFILES = xercesc_messages.c root_res.c root.res
+BUILT_SOURCES = xercesc_messages.c root_res.c
+xercesc_messages.c: ${top_srcdir}/src/xercesc/util/MsgLoaders/ICU/resources/res-file-list.txt
+	${ICU_PREFIX}/sbin/gencmn --name ${PKGNAME} -S ${PKGNAME}_dat.c -d . ${top_srcdir}/src/xercesc/util/MsgLoaders/ICU/resources/res-file-list.txt
+	@mv ${PKGNAME}_dat.c xercesc_messages.c
+
+root_res.c: ${top_srcdir}/src/xercesc/util/MsgLoaders/ICU/resources/root.txt
+	${ICU_PREFIX}/bin/genrb -d . ${top_srcdir}/src/xercesc/util/MsgLoaders/ICU/resources/root.txt
+	${ICU_PREFIX}/sbin/genccode --name ${PKGNAME} -d . root.res
+
 endif
 
 if XERCES_USE_MSGLOADER_ICONV
@@ -1056,8 +1068,8 @@ msgicu_headers = \
 
 msgicu_sources = \
 	xercesc/util/MsgLoaders/ICU/ICUMsgLoader.cpp \
-        xercesc/util/MsgLoaders/ICU/resources/xercesc_messages.c \
-        xercesc/util/MsgLoaders/ICU/resources/root_res.c
+	xercesc_messages.c \
+	root_res.c
 
 msgiconv_headers = \
 	xercesc/util/MsgLoaders/MsgCatalog/MsgCatalogLoader.hpp \
diff --git a/src/xercesc/util/MsgLoaders/ICU/resources/Makefile.in b/src/xercesc/util/MsgLoaders/ICU/resources/Makefile.in
deleted file mode 100644
index 470d8a337cdd679f7a7fba5651cf05a27d76d8ca..0000000000000000000000000000000000000000
--- a/src/xercesc/util/MsgLoaders/ICU/resources/Makefile.in
+++ /dev/null
@@ -1,103 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = @top_builddir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-libdir = @libdir@
-mkdir_p = @mkdir_p@
-
-ICU_PREFIX = @ICU_PREFIX@
-
-GENRB=$(ICU_PREFIX)/bin/genrb
-GENCCODE=$(ICU_PREFIX)/sbin/genccode
-GENCMN=$(ICU_PREFIX)/sbin/gencmn
-
-include $(top_srcdir)/version.incl
-
-# Resource shortname
-PKGNAME=xercesc_messages_$(INTERFACE_VER_U)
-
-# Resource files.  Add new ones for additional locales here. Keep in sync
-# with the file RESLIST and don't forget to add the .lo entry in top-level
-# Makefile.am.
-#
-RESFILES=root.res
-
-# list of resource bundles  - keep in sync with RESFILES
-#
-RESLIST=$(srcdir)/res-file-list.txt
-
-.PHONY: all
-all: $(RESFILES:.res=_res.c) xercesc_messages.c
-
-xercesc_messages.c: $(RESLIST)
-	$(GENCMN) --name $(PKGNAME) -S $(PKGNAME)_dat.c -d . $<
-	@mv $(PKGNAME)_dat.c xercesc_messages.c
-
-.PRECIOUS: %_res.c
-%_res.c: $(srcdir)/%.res
-	$(GENCCODE) --name $(PKGNAME) -d . $<
-
-.PRECIOUS: %.res
-%.res: $(srcdir)/%.txt
-	$(GENRB) $^
-
-# Clean
-#
-clean distclean:
-	rm -f $(RESFILES) $(RESFILES:.res=_res.c) xercesc_messages.c
-#
-#
-.PHONY: check
-check: all
-
-# Support for "make dist"
-#
-distdir:
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='res-file-list.txt root.txt Makefile.in'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(mkdir_p) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
-	    || exit 1; \
-	  fi; \
-	done
-
-
-# Nothing to do for these targets.
-#
-install: ; @:
-uninstall: ; @: