blob: aeb86b2c39012a2bce26f9898568c08ea0b4ae6c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
include share/push.mk
UNICODE=14.0.0
SRCS_$(d):=\
$(d)/encode.c\
$(d)/decode.c\
$(d)/decodeprev.c\
$(d)/find.c\
$(d)/findlast.c\
$(d)/canfit.c\
$(d)/runelen.c\
$(d)/len.c\
$(d)/runetype-$(UNICODE).c\
$(d)/runewidth-$(UNICODE).c
LIBS_$(d):=$(d)/libutf.a
include share/paths.mk
# ========================================================================
# table generation
$(d)/vendor/common.o: $(d)/vendor/common.c
$(COMPILE)
# rune categories
$(d)/vendor/UnicodeData-$(UNICODE).txt:
@echo "GET UnicodeData.txt";\
curl https://www.unicode.org/Public/$(UNICODE)/ucd/UnicodeData.txt > $@
$(d)/vendor/mkrunetype: $(d)/vendor/mkrunetype.c $(d)/vendor/common.o $(OBJ_DIR)/base/base.a
$(COMPLINK)
GENS += $(d)/vendor/mkrunetype
$(d)/runetype-$(UNICODE).c: $(d)/vendor/UnicodeData-$(UNICODE).txt $(d)/vendor/mkrunetype
@$(dir $@)vendor/mkrunetype $< > $@
# rune widths
$(d)/vendor/EastAsianWidth-$(UNICODE).txt:
@echo "GET EastAsianWidth.txt";\
curl https://www.unicode.org/Public/$(UNICODE)/ucd/EastAsianWidth.txt > $@
$(d)/vendor/EmojiData-$(UNICODE).txt:
@echo "GET EmojiData.txt";\
curl https://www.unicode.org/Public/$(UNICODE)/ucd/emoji/emoji-data.txt > $@
$(d)/vendor/mkrunewidth: $(d)/vendor/mkrunewidth.c $(d)/vendor/common.o $(OBJ_DIR)/base/base.a
$(COMPLINK)
GENS += $(d)/vendor/mkrunewidth
$(d)/runewidth-$(UNICODE).c: $(d)/vendor/mkrunewidth $(d)/vendor/UnicodeData-$(UNICODE).txt $(d)/vendor/EastAsianWidth-$(UNICODE).txt $(d)/vendor/EmojiData-$(UNICODE).txt
@$(dir $@)vendor/mkrunewidth $(filter-out $<, $^) > $@
# grapheme boundaries
$(d)/vendor/GraphemeBreakProperty-$(UNICODE).txt:
@echo "GET GraphemeBreakProperty.txt";\
curl https://www.unicode.org/Public/$(UNICODE)/ucd/auxiliary/GraphemeBreakProperty.txt > $@
$(d)/vendor/mkgraphemedata: $(d)/vendor/mkgraphemedata.c $(d)/vendor/common.o $(OBJ_DIR)/base/base.a
$(COMPLINK)
$(d)/graphemedata-$(UNICODE).c: $(d)/vendor/mkgraphemedata $(d)/vendor/GraphemeBreakProperty-$(UNICODE).txt
$^ > $@
GENS += $(d)/vendor/mkgraphemedata
# ========================================================================
# normal operations
$(LIBS_$(d)): $(OBJS_$(d))
$(ARCHIVE)
include share/pop.mk
|