summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac13
-rw-r--r--cpprules.in28
-rw-r--r--man/Makefile.am21
-rw-r--r--nls/C/Makefile.am14
-rw-r--r--nls/Makefile.am6
-rw-r--r--nls/armscii-8/Makefile.am14
-rw-r--r--nls/en_US.UTF-8/Makefile.am14
-rw-r--r--nls/georgian-academy/Makefile.am14
-rw-r--r--nls/georgian-ps/Makefile.am14
-rw-r--r--nls/ibm-cp1133/Makefile.am14
-rw-r--r--nls/iscii-dev/Makefile.am14
-rw-r--r--nls/isiri-3342/Makefile.am14
-rw-r--r--nls/iso8859-1/Makefile.am14
-rw-r--r--nls/iso8859-10/Makefile.am14
-rw-r--r--nls/iso8859-11/Makefile.am14
-rw-r--r--nls/iso8859-13/Makefile.am14
-rw-r--r--nls/iso8859-14/Makefile.am14
-rw-r--r--nls/iso8859-15/Makefile.am14
-rw-r--r--nls/iso8859-2/Makefile.am14
-rw-r--r--nls/iso8859-3/Makefile.am14
-rw-r--r--nls/iso8859-4/Makefile.am14
-rw-r--r--nls/iso8859-5/Makefile.am14
-rw-r--r--nls/iso8859-6/Makefile.am14
-rw-r--r--nls/iso8859-7/Makefile.am14
-rw-r--r--nls/iso8859-8/Makefile.am14
-rw-r--r--nls/iso8859-9/Makefile.am14
-rw-r--r--nls/iso8859-9e/Makefile.am14
-rw-r--r--nls/ja.JIS/Makefile.am14
-rw-r--r--nls/ja.S90/Makefile.am14
-rw-r--r--nls/ja.SJIS/Makefile.am14
-rw-r--r--nls/ja.U90/Makefile.am14
-rw-r--r--nls/ja/Makefile.am14
-rw-r--r--nls/ja_JP.UTF-8/Makefile.am14
-rw-r--r--nls/ko/Makefile.am14
-rw-r--r--nls/ko_KR.UTF-8/Makefile.am14
-rw-r--r--nls/koi8-c/Makefile.am14
-rw-r--r--nls/koi8-r/Makefile.am14
-rw-r--r--nls/koi8-u/Makefile.am14
-rw-r--r--nls/localerules.in8
-rw-r--r--nls/microsoft-cp1251/Makefile.am14
-rw-r--r--nls/microsoft-cp1255/Makefile.am14
-rw-r--r--nls/microsoft-cp1256/Makefile.am14
-rw-r--r--nls/mulelao-1/Makefile.am14
-rw-r--r--nls/nokhchi-1/Makefile.am14
-rw-r--r--nls/pt_BR.UTF-8/Makefile.am14
-rw-r--r--nls/tatar-cyr/Makefile.am14
-rw-r--r--nls/th_TH.UTF-8/Makefile.am14
-rw-r--r--nls/th_TH/Makefile.am14
-rw-r--r--nls/tscii-0/Makefile.am14
-rw-r--r--nls/vi_VN.tcvn/Makefile.am14
-rw-r--r--nls/vi_VN.viscii/Makefile.am14
-rw-r--r--nls/zh_CN.UTF-8/Makefile.am14
-rw-r--r--nls/zh_CN.gb18030/Makefile.am14
-rw-r--r--nls/zh_CN.gbk/Makefile.am14
-rw-r--r--nls/zh_CN/Makefile.am14
-rw-r--r--nls/zh_HK.UTF-8/Makefile.am14
-rw-r--r--nls/zh_HK.big5/Makefile.am14
-rw-r--r--nls/zh_HK.big5hkscs/Makefile.am14
-rw-r--r--nls/zh_TW.UTF-8/Makefile.am14
-rw-r--r--nls/zh_TW.big5/Makefile.am14
-rw-r--r--nls/zh_TW/Makefile.am14
61 files changed, 127 insertions, 733 deletions
diff --git a/configure.ac b/configure.ac
index bfc64bed..35dea01c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,6 +17,9 @@ AC_CONFIG_HEADER([include/X11/XlibConf.h])
# Checks for programs.
AC_PROG_LIBTOOL
AC_PROG_CC
+AC_PROG_CPP
+AC_PATH_PROGS(RAWCPP, [cpp], [$(CPP)],
+ [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
# Checks for pkg-config packages
PKG_CHECK_MODULES(BIGREQS, bigreqsproto)
@@ -79,10 +82,12 @@ AC_CHECK_FUNC([shmat], AC_DEFINE(HAS_SHM,1,[Has shm*() functions]))
dnl AC_PATH_XTRA
# arch specific things
+WCHAR32="1"
case $target_alias in
- *os2*) os2="true" ;;
+ *os2*) os2="true" ; WCHAR32="0" ;;
*) ;;
esac
+AC_SUBST(WCHAR32)
AM_CONDITIONAL(OS2, test x$os2 = xtrue)
@@ -192,6 +197,12 @@ AC_ARG_ENABLE(xkb,
[Disable XKB support *EXPERIMENTAL*]),
[XKB=$enableval],[XKB=yes])
+AC_ARG_ENABLE(man-pages,
+ AC_HELP_STRING([--enable-man-pages=section],
+ [Choose manual section for installing man pages]),
+ [LIBMAN_SUFFIX=$enableval],[LIBMAN_SUFFIX=3x])
+AC_SUBST(LIBMAN_SUFFIX)
+
# Finalization
AM_CONDITIONAL(DISABLE_XCMS, [test x$XCMS = xno ])
diff --git a/cpprules.in b/cpprules.in
new file mode 100644
index 00000000..d0924add
--- /dev/null
+++ b/cpprules.in
@@ -0,0 +1,28 @@
+# -*- Makefile -*-
+# Rules for generating files using the C pre-processor
+# (Replaces CppFileTarget from Imake)
+
+SED = sed
+
+SUFFIXES = .pre
+
+WCHAR32_FLAGS = -DWCHAR32=@WCHAR32@
+
+CPP_FILES_FLAGS = $(WCHAR32_FLAGS)
+
+# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
+# to cpp, because that trick does not work on all ANSI C preprocessors.
+# Delete line numbers from the cpp output (-P is not portable, I guess).
+# Allow XCOMM to be preceded by whitespace and provide a means of generating
+# output lines with trailing backslashes.
+# Allow XHASH to always be substituted, even in cases where XCOMM isn't.
+
+CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
+ -e '/^\#line *[0-9][0-9]* *.*$$/d' \
+ -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \
+ -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
+ -e '/^[ ]*XHASH/s/XHASH/\#/' \
+ -e '/\@\@$$/s/\@\@$$/\\/'
+
+.pre:
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ \ No newline at end of file
diff --git a/man/Makefile.am b/man/Makefile.am
index f5cab4d1..33699593 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -1,4 +1,10 @@
-man3_MANS = \
+# Have to fake out automake by calling our man pages "DATA" since "MANS" won't
+# accept .3x as a valid man page suffix
+
+LIBMAN_SUFFIX=@LIBMAN_SUFFIX@
+libmandir = $(mandir)/man$(LIBMAN_SUFFIX)
+
+libman_SOURCES = \
AllPlanes.man \
BlackPixelOfScreen.man \
DisplayOfCCC.man \
@@ -181,4 +187,15 @@ man3_MANS = \
XmbTextExtents.man \
XmbTextPerCharExtents.man
-EXTRA_DIST=$(man3_MANS)
+libman_DATA=$(libman_SOURCES:man=$(LIBMAN_SUFFIX))
+
+EXTRA_DIST = $(libman_SOURCES)
+
+CLEANFILES = $(libman_DATA)
+
+include $(top_srcdir)/cpprules.in
+
+SUFFIXES += .$(LIBMAN_SUFFIX) .man
+
+.man.$(LIBMAN_SUFFIX):
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_MAN_FLAGS) < $< | $(CPP_SED_MAGIC) > $@
diff --git a/nls/C/Makefile.am b/nls/C/Makefile.am
index 13a66460..b8eda401 100644
--- a/nls/C/Makefile.am
+++ b/nls/C/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/C
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/Makefile.am b/nls/Makefile.am
index 0945e34d..4183fb9a 100644
--- a/nls/Makefile.am
+++ b/nls/Makefile.am
@@ -68,12 +68,14 @@ SUBDIRS= \
zh_TW.big5 \
zh_TW.UTF-8
+include $(top_srcdir)/cpprules.in
+
locale.alias: locale.alias.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/locale.alias.pre > locale.alias.l1
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
sed -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d' \
< locale.alias.l1 > locale.alias
compose.dir: compose.dir.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/compose.dir.pre > compose.dir.l1
+ $(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/compose.dir.pre | $(CPP_SED_MAGIC) > compose.dir.l1
sed -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d' \
< compose.dir.l1 > compose.dir
diff --git a/nls/armscii-8/Makefile.am b/nls/armscii-8/Makefile.am
index 459364ef..0c21458d 100644
--- a/nls/armscii-8/Makefile.am
+++ b/nls/armscii-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/armscii-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/en_US.UTF-8/Makefile.am b/nls/en_US.UTF-8/Makefile.am
index 538dea35..e4247411 100644
--- a/nls/en_US.UTF-8/Makefile.am
+++ b/nls/en_US.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/en_US.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/georgian-academy/Makefile.am b/nls/georgian-academy/Makefile.am
index 4b8a3e85..849bf8fe 100644
--- a/nls/georgian-academy/Makefile.am
+++ b/nls/georgian-academy/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/georgian-academy
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/georgian-ps/Makefile.am b/nls/georgian-ps/Makefile.am
index 6b559a70..89568bea 100644
--- a/nls/georgian-ps/Makefile.am
+++ b/nls/georgian-ps/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/georgian-ps
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ibm-cp1133/Makefile.am b/nls/ibm-cp1133/Makefile.am
index d5f36197..d1fdd4ee 100644
--- a/nls/ibm-cp1133/Makefile.am
+++ b/nls/ibm-cp1133/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ibm-cp1133
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iscii-dev/Makefile.am b/nls/iscii-dev/Makefile.am
index a0837da4..02f7e595 100644
--- a/nls/iscii-dev/Makefile.am
+++ b/nls/iscii-dev/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iscii-dev
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/isiri-3342/Makefile.am b/nls/isiri-3342/Makefile.am
index 76fc515a..477f0272 100644
--- a/nls/isiri-3342/Makefile.am
+++ b/nls/isiri-3342/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/isiri-3342
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-1/Makefile.am b/nls/iso8859-1/Makefile.am
index bc9d04ad..746de925 100644
--- a/nls/iso8859-1/Makefile.am
+++ b/nls/iso8859-1/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-1
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-10/Makefile.am b/nls/iso8859-10/Makefile.am
index f2fed61c..540e50bf 100644
--- a/nls/iso8859-10/Makefile.am
+++ b/nls/iso8859-10/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-10
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-11/Makefile.am b/nls/iso8859-11/Makefile.am
index 9fcc6a8a..11fdf8d9 100644
--- a/nls/iso8859-11/Makefile.am
+++ b/nls/iso8859-11/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-11
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-13/Makefile.am b/nls/iso8859-13/Makefile.am
index a1729d27..bd5ae648 100644
--- a/nls/iso8859-13/Makefile.am
+++ b/nls/iso8859-13/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-13
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-14/Makefile.am b/nls/iso8859-14/Makefile.am
index ecfc6ace..c0ce8c03 100644
--- a/nls/iso8859-14/Makefile.am
+++ b/nls/iso8859-14/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-14
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-15/Makefile.am b/nls/iso8859-15/Makefile.am
index c5c72967..6deb32f3 100644
--- a/nls/iso8859-15/Makefile.am
+++ b/nls/iso8859-15/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-15
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-2/Makefile.am b/nls/iso8859-2/Makefile.am
index 1bb367ad..29c61227 100644
--- a/nls/iso8859-2/Makefile.am
+++ b/nls/iso8859-2/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-2
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-3/Makefile.am b/nls/iso8859-3/Makefile.am
index 8d17a602..674057f1 100644
--- a/nls/iso8859-3/Makefile.am
+++ b/nls/iso8859-3/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-3
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-4/Makefile.am b/nls/iso8859-4/Makefile.am
index ed29d94d..af3e8296 100644
--- a/nls/iso8859-4/Makefile.am
+++ b/nls/iso8859-4/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-4
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-5/Makefile.am b/nls/iso8859-5/Makefile.am
index c875fe7a..22b355dd 100644
--- a/nls/iso8859-5/Makefile.am
+++ b/nls/iso8859-5/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-5
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-6/Makefile.am b/nls/iso8859-6/Makefile.am
index 23c55fa0..a11aa9a4 100644
--- a/nls/iso8859-6/Makefile.am
+++ b/nls/iso8859-6/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-6
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-7/Makefile.am b/nls/iso8859-7/Makefile.am
index 7e77c98d..814da8be 100644
--- a/nls/iso8859-7/Makefile.am
+++ b/nls/iso8859-7/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-7
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-8/Makefile.am b/nls/iso8859-8/Makefile.am
index 59d6f72b..bbf870b3 100644
--- a/nls/iso8859-8/Makefile.am
+++ b/nls/iso8859-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-9/Makefile.am b/nls/iso8859-9/Makefile.am
index a8c2fa23..c021ff70 100644
--- a/nls/iso8859-9/Makefile.am
+++ b/nls/iso8859-9/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-9
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/iso8859-9e/Makefile.am b/nls/iso8859-9e/Makefile.am
index b487754d..ad11df40 100644
--- a/nls/iso8859-9e/Makefile.am
+++ b/nls/iso8859-9e/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/iso8859-9e
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ja.JIS/Makefile.am b/nls/ja.JIS/Makefile.am
index 13aa6895..b7d0a58e 100644
--- a/nls/ja.JIS/Makefile.am
+++ b/nls/ja.JIS/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ja.JIS
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ja.S90/Makefile.am b/nls/ja.S90/Makefile.am
index 076bc9e6..2d9fc990 100644
--- a/nls/ja.S90/Makefile.am
+++ b/nls/ja.S90/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ja.S90
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ja.SJIS/Makefile.am b/nls/ja.SJIS/Makefile.am
index 743f1023..a00cf289 100644
--- a/nls/ja.SJIS/Makefile.am
+++ b/nls/ja.SJIS/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ja.SJIS
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ja.U90/Makefile.am b/nls/ja.U90/Makefile.am
index 46b6f09d..513b1a4d 100644
--- a/nls/ja.U90/Makefile.am
+++ b/nls/ja.U90/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ja.U90
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ja/Makefile.am b/nls/ja/Makefile.am
index af4a0e15..35c69f5a 100644
--- a/nls/ja/Makefile.am
+++ b/nls/ja/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ja
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ja_JP.UTF-8/Makefile.am b/nls/ja_JP.UTF-8/Makefile.am
index 0903b280..71edd67f 100644
--- a/nls/ja_JP.UTF-8/Makefile.am
+++ b/nls/ja_JP.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ja_JP.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ko/Makefile.am b/nls/ko/Makefile.am
index 04ebc6d7..1c4aa9e9 100644
--- a/nls/ko/Makefile.am
+++ b/nls/ko/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ko
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/ko_KR.UTF-8/Makefile.am b/nls/ko_KR.UTF-8/Makefile.am
index 41de5786..941d01da 100644
--- a/nls/ko_KR.UTF-8/Makefile.am
+++ b/nls/ko_KR.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/ko_KR.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/koi8-c/Makefile.am b/nls/koi8-c/Makefile.am
index 7b63a6bc..fd3276d9 100644
--- a/nls/koi8-c/Makefile.am
+++ b/nls/koi8-c/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/koi8-c
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/koi8-r/Makefile.am b/nls/koi8-r/Makefile.am
index fda9f397..b40a9c3c 100644
--- a/nls/koi8-r/Makefile.am
+++ b/nls/koi8-r/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/koi8-r
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/koi8-u/Makefile.am b/nls/koi8-u/Makefile.am
index 967a0783..b9ca4882 100644
--- a/nls/koi8-u/Makefile.am
+++ b/nls/koi8-u/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/koi8-u
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/localerules.in b/nls/localerules.in
new file mode 100644
index 00000000..75bd3f41
--- /dev/null
+++ b/nls/localerules.in
@@ -0,0 +1,8 @@
+include $(top_srcdir)/cpprules.in
+
+EXTRA_DIST = XLC_LOCALE.pre Compose.pre
+
+dist_x11thislocale_DATA = XI18N_OBJS
+x11thislocale_DATA = XLC_LOCALE Compose
+
+DISTCLEANFILES = XLC_LOCALE Compose
diff --git a/nls/microsoft-cp1251/Makefile.am b/nls/microsoft-cp1251/Makefile.am
index 4078d879..d7b851e1 100644
--- a/nls/microsoft-cp1251/Makefile.am
+++ b/nls/microsoft-cp1251/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/microsoft-cp1251
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/microsoft-cp1255/Makefile.am b/nls/microsoft-cp1255/Makefile.am
index 9c2cb997..6d5ad6d1 100644
--- a/nls/microsoft-cp1255/Makefile.am
+++ b/nls/microsoft-cp1255/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/microsoft-cp1255
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/microsoft-cp1256/Makefile.am b/nls/microsoft-cp1256/Makefile.am
index bc304c01..6ff5d1c9 100644
--- a/nls/microsoft-cp1256/Makefile.am
+++ b/nls/microsoft-cp1256/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/microsoft-cp1256
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/mulelao-1/Makefile.am b/nls/mulelao-1/Makefile.am
index e67db7e9..abed81af 100644
--- a/nls/mulelao-1/Makefile.am
+++ b/nls/mulelao-1/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/mulelao-1
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/nokhchi-1/Makefile.am b/nls/nokhchi-1/Makefile.am
index 32eb24fc..b83ea99d 100644
--- a/nls/nokhchi-1/Makefile.am
+++ b/nls/nokhchi-1/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/nokhchi-1
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/pt_BR.UTF-8/Makefile.am b/nls/pt_BR.UTF-8/Makefile.am
index 1800c816..dbe131cd 100644
--- a/nls/pt_BR.UTF-8/Makefile.am
+++ b/nls/pt_BR.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/pt_BR.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/tatar-cyr/Makefile.am b/nls/tatar-cyr/Makefile.am
index cdce658f..4c1d4bfe 100644
--- a/nls/tatar-cyr/Makefile.am
+++ b/nls/tatar-cyr/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/tatar-cyr
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/th_TH.UTF-8/Makefile.am b/nls/th_TH.UTF-8/Makefile.am
index c9611229..7c6b3a86 100644
--- a/nls/th_TH.UTF-8/Makefile.am
+++ b/nls/th_TH.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/th_TH.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/th_TH/Makefile.am b/nls/th_TH/Makefile.am
index 14ce8f37..a4f8e446 100644
--- a/nls/th_TH/Makefile.am
+++ b/nls/th_TH/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/th_TH
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/tscii-0/Makefile.am b/nls/tscii-0/Makefile.am
index 7b52b744..74a645c3 100644
--- a/nls/tscii-0/Makefile.am
+++ b/nls/tscii-0/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/tscii-0
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/vi_VN.tcvn/Makefile.am b/nls/vi_VN.tcvn/Makefile.am
index b38ae6da..c2b51eaf 100644
--- a/nls/vi_VN.tcvn/Makefile.am
+++ b/nls/vi_VN.tcvn/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/vi_VN.tcvn
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/vi_VN.viscii/Makefile.am b/nls/vi_VN.viscii/Makefile.am
index 7d66fc23..2107d97d 100644
--- a/nls/vi_VN.viscii/Makefile.am
+++ b/nls/vi_VN.viscii/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/vi_VN.viscii
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_CN.UTF-8/Makefile.am b/nls/zh_CN.UTF-8/Makefile.am
index 212a979a..c6bbc153 100644
--- a/nls/zh_CN.UTF-8/Makefile.am
+++ b/nls/zh_CN.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_CN.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_CN.gb18030/Makefile.am b/nls/zh_CN.gb18030/Makefile.am
index 89a5f1ef..9b0405dc 100644
--- a/nls/zh_CN.gb18030/Makefile.am
+++ b/nls/zh_CN.gb18030/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_CN.gb18030
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_CN.gbk/Makefile.am b/nls/zh_CN.gbk/Makefile.am
index 970a99c2..c9e47626 100644
--- a/nls/zh_CN.gbk/Makefile.am
+++ b/nls/zh_CN.gbk/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_CN.gbk
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_CN/Makefile.am b/nls/zh_CN/Makefile.am
index f66d091c..bada8953 100644
--- a/nls/zh_CN/Makefile.am
+++ b/nls/zh_CN/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_CN
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_HK.UTF-8/Makefile.am b/nls/zh_HK.UTF-8/Makefile.am
index d7a7c2c6..f4d4fa4d 100644
--- a/nls/zh_HK.UTF-8/Makefile.am
+++ b/nls/zh_HK.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_HK.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_HK.big5/Makefile.am b/nls/zh_HK.big5/Makefile.am
index 1a1a8a22..480ec355 100644
--- a/nls/zh_HK.big5/Makefile.am
+++ b/nls/zh_HK.big5/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_HK.big5
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_HK.big5hkscs/Makefile.am b/nls/zh_HK.big5hkscs/Makefile.am
index 8e9d9123..c0478c51 100644
--- a/nls/zh_HK.big5hkscs/Makefile.am
+++ b/nls/zh_HK.big5hkscs/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_HK.big5hkscs
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_TW.UTF-8/Makefile.am b/nls/zh_TW.UTF-8/Makefile.am
index 95913596..a827ee95 100644
--- a/nls/zh_TW.UTF-8/Makefile.am
+++ b/nls/zh_TW.UTF-8/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_TW.UTF-8
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_TW.big5/Makefile.am b/nls/zh_TW.big5/Makefile.am
index eb0abd62..e79d7fe6 100644
--- a/nls/zh_TW.big5/Makefile.am
+++ b/nls/zh_TW.big5/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_TW.big5
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in
diff --git a/nls/zh_TW/Makefile.am b/nls/zh_TW/Makefile.am
index c0c8a57e..10b4d8f5 100644
--- a/nls/zh_TW/Makefile.am
+++ b/nls/zh_TW/Makefile.am
@@ -1,15 +1,3 @@
x11thislocaledir = @X11_LOCALEDIR@/zh_TW
-EXTRA_DIST = XLC_LOCALE.pre Compose.pre
-
-dist_x11thislocale_DATA = XI18N_OBJS
-x11thislocale_DATA = XLC_LOCALE Compose
-
-# XXX: WCHAR32 definition <<-- WTF does this mean?
-XLC_LOCALE: XLC_LOCALE.pre
- $(CPP) -traditional -DWCHAR32=1 -DXCOMM='#' - < $(srcdir)/XLC_LOCALE.pre > $@
-
-Compose: $(srcdir)/Compose.pre
- $(CPP) -traditional -DXCOMM='#' - < $(srcdir)/Compose.pre > $@
-
-DISTCLEANFILES = XLC_LOCALE Compose
+include $(top_srcdir)/nls/localerules.in