1# SPDX-License-Identifier: GPL-2.0
2
3ifneq ($(CONFIG_UNICODE),)
4obj-y			+= unicode.o
5endif
6obj-$(CONFIG_UNICODE)	+= utf8data.o
7obj-$(CONFIG_UNICODE_NORMALIZATION_SELFTEST) += utf8-selftest.o
8
9unicode-y := utf8-norm.o utf8-core.o
10
11$(obj)/utf8-data.o: $(obj)/utf8data.c
12
13# In the normal build, the checked-in utf8data.c is just shipped.
14#
15# To generate utf8data.c from UCD, put *.txt files in this directory
16# and pass REGENERATE_UTF8DATA=1 from the command line.
17ifdef REGENERATE_UTF8DATA
18
19quiet_cmd_utf8data = GEN     $@
20      cmd_utf8data = $< \
21		-a $(srctree)/$(src)/DerivedAge.txt \
22		-c $(srctree)/$(src)/DerivedCombiningClass.txt \
23		-p $(srctree)/$(src)/DerivedCoreProperties.txt \
24		-d $(srctree)/$(src)/UnicodeData.txt \
25		-f $(srctree)/$(src)/CaseFolding.txt \
26		-n $(srctree)/$(src)/NormalizationCorrections.txt \
27		-t $(srctree)/$(src)/NormalizationTest.txt \
28		-o $@
29
30$(obj)/utf8data.c: $(obj)/mkutf8data $(filter %.txt, $(cmd_utf8data)) FORCE
31	$(call if_changed,utf8data)
32
33else
34
35$(obj)/utf8data.c: $(src)/utf8data.c_shipped FORCE
36	$(call if_changed,copy)
37
38endif
39
40targets += utf8data.c
41hostprogs += mkutf8data
42