+
+programs/%-kw.h: programs/%-kw.gperf
+ $(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $< > $@.new
+ mv -f $@.new $@
+
+$(objpfx)localedef: $(localedef-modules:%=$(objpfx)%.o)
+$(objpfx)locale: $(locale-modules:%=$(objpfx)%.o)
+$(objpfx)localedef $(objpfx)locale: $(lib-modules:%=$(objpfx)%.o)
+
+localepath = "$(localedir):$(i18ndir)"
+
+CPPFLAGS := -DLOCALE_PATH='$(localepath)' \
+ -DLOCALEDIR='"$(localedir)"' \
+ -DLOCALE_ALIAS_PATH='"$(localedir):$(i18ndir)"' \
+ -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
+ -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \
+ -Iprograms $(CPPFLAGS)
+
+CFLAGS-charmap.c = -Wno-write-strings
+CFLAGS-locfile.c = -Wno-write-strings
+
+# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
+# This ensures they will load libc.so for needed symbols if loaded by
+# a statically-linked program that hasn't already loaded it.
+$(objpfx)libBrokenLocale.so: $(common-objpfx)libc.so