summary refs log tree commit diff
path: root/localedata/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'localedata/Makefile')
-rw-r--r--localedata/Makefile57
1 files changed, 30 insertions, 27 deletions
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