about summary refs log tree commit diff
path: root/localedata
diff options
context:
space:
mode:
Diffstat (limited to 'localedata')
-rw-r--r--localedata/ChangeLog6
-rw-r--r--localedata/Depend1
-rw-r--r--localedata/Makefile57
-rw-r--r--localedata/gen-locale.sh16
4 files changed, 45 insertions, 35 deletions
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 217b709c30..035f88b13b 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,5 +1,11 @@
 2000-06-30  Ulrich Drepper  <drepper@redhat.com>
 
+	* Depend: New file.
+
+	* Makefile: Rewrite rules to generate locale data.
+	* gen-locale.sh: Generate only one locale which is described in a
+	command line parameter.
+
 	* gen-locale.sh: Print that it might take a while to finish.
 
 2000-06-30  Jakub Jelinek  <jakub@redhat.com>
diff --git a/localedata/Depend b/localedata/Depend
new file mode 100644
index 0000000000..193b759b5a
--- /dev/null
+++ b/localedata/Depend
@@ -0,0 +1 @@
+locale
diff --git a/localedata/Makefile b/localedata/Makefile
index af70f7cca4..428ae27381 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -117,46 +117,49 @@ CFLAGS-tst-trans.c = -Wno-format
 
 ifeq (no,$(cross-compiling))
 ifeq (yes,$(build-shared))
+# We have to generate locales
+LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
+	   en_US.ISO-8859-1 ja_JP.EUC-JP
+LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
+CHARMAPS := $(shell echo "$(LOCALES)"|sed 's/[^ .]*[.]\([^ ]*\)/\1/g')
+CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
+
+# Dependency for the locale files.  We actually make it depend only on
+# one of the files.
+$(addprefix $(objpfx),$(CTYPE_FILES)): %: \
+  gen-locale.sh Makefile $(common-objpfx)locale/localedef \
+  $(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS))
+	@$(SHELL) -e gen-locale.sh $(common-objpfx) $@
+
+$(addsuffix .out,$(addprefix $(objpfx),$(locale_test_suite))): %: \
+  $(addprefix $(objpfx),$(CTYPE_FILES))
+
 .PHONY: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
 	do-tst-mbswcs do-tst-ctype
 tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans \
        do-tst-mbswcs do-tst-ctype
 do-collate-test: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
-		 $(test-input-data)
+		 $(test-input-data) $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx) $(test-input)
-do-tst-fmon: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data  do-collate-test
+do-tst-fmon: tst-fmon.sh $(objpfx)tst-fmon tst-fmon.data do-collate-test \
+	     $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx) tst-fmon.data
-do-tst-locale: tst-locale.sh $(ld-test-srcs)
+do-tst-locale: tst-locale.sh $(ld-test-srcs) \
+	       $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx)
-do-tst-rpmatch: tst-rpmatch.sh $(objpfx)tst-rpmatch do-tst-fmon
+do-tst-rpmatch: tst-rpmatch.sh $(objpfx)tst-rpmatch do-tst-fmon \
+		$(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx)
-do-tst-trans: tst-trans.sh $(objpfx)tst-trans
+do-tst-trans: tst-trans.sh $(objpfx)tst-trans \
+	      $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx)
 do-tst-mbswcs: tst-mbswcs.sh $(objpfx)tst-mbswcs1 $(objpfx)tst-mbswcs2 \
-	       $(objpfx)tst-mbswcs3 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5
+	       $(objpfx)tst-mbswcs3 $(objpfx)tst-mbswcs4 $(objpfx)tst-mbswcs5 \
+	       $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx)
-do-tst-ctype: tst-ctype.sh $(objpfx)tst-ctype do-collate-test
+do-tst-ctype: tst-ctype.sh $(objpfx)tst-ctype do-collate-test \
+	      $(addprefix $(objpfx),$(CTYPE_FILES))
 	$(SHELL) -e $< $(common-objpfx)
-
-# Theses locales are generated by gen-locale.sh
-LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
-	   en_US.ISO-8859-1 ja_JP.EUC-JP
-
-LOCALE_FILES := LC_ADDRESS LC_IDENTIFICATION LC_MONETARY LC_PAPER       \
-		LC_COLLATE LC_MEASUREMENT LC_NAME LC_TELEPHONE LC_CTYPE \
-		LC_NUMERIC LC_TIME LC_MESSAGES/SYS_LC_MESSAGES
-
-ALL_LC_FILES := $(foreach locale, $(LOCALES), \
-			  $(addprefix $(locale)/, $(LOCALE_FILES)))
-
-ALL_OBJ_LC_FILES := $(addprefix $(objpfx), $(ALL_LC_FILES))
-
-$(ALL_OBJ_LC_FILES): gen-locale.sh Makefile charmaps/* locales/* \
-		     $(common-objpfx)locale/localedef
-	$(SHELL) -e gen-locale.sh $(common-objpfx)
-
-$(addsuffix .out,$(addprefix $(objpfx),$(locale_test_suite))): %: $(ALL_OBJ_LC_FILES)
-
 endif
 endif
 
diff --git a/localedata/gen-locale.sh b/localedata/gen-locale.sh
index ca110741c0..b68e364a1e 100644
--- a/localedata/gen-locale.sh
+++ b/localedata/gen-locale.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Generate test locale files
+# Generate test locale files.
 # Copyright (C) 2000 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
@@ -18,7 +18,8 @@
 # not, write to the Free Software Foundation, Inc.,
 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-common_objpfx=$1; shift
+common_objpfx="$1"; shift
+locfile="$1"; shift
 
 generate_locale ()
 {
@@ -37,9 +38,8 @@ generate_locale ()
     fi
 }
 
-echo "Generating locale data: this might take a while..."
-generate_locale UTF8 de_DE de_DE.UTF-8
-generate_locale ISO-8859-1 de_DE de_DE.ISO-8859-1
-generate_locale ISO-8859-1 en_US en_US.ISO-8859-1
-generate_locale EUC-JP ja_JP ja_JP.EUC-JP
-generate_locale ANSI_X3.4-1968 en_US en_US.ANSI_X3.4-1968
+locale=`echo $locfile|sed 's|.*/\([^/.]*\)[.].*/LC_CTYPE|\1|'`
+charmap=`echo $locfile|sed 's|.*/[^/.]*[.]\(.*\)/LC_CTYPE|\1|'`
+
+echo "Generating locale $locale.$charmap: this might take a while..."
+generate_locale $charmap $locale $locale.$charmap