aboutsummaryrefslogtreecommitdiff
path: root/sys/libunicode/rules.mk
blob: aca7348a288232b64288111e7cf3f0606a31db45 (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
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

LIBS_$(d) := $(d)/libunicode.a

include share/paths.mk

# 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 $(OBJ_DIR)/sys/base/base.a
	$(COMPLINK)

GENS += $(d)/vendor/mkrunetype

$(d)/runetype-$(UNICODE).c: $(d)/vendor/UnicodeData-$(UNICODE).txt $(d)/vendor/mkrunetype
	@$(dir $@)vendor/mkrunetype $< > $@

# 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 $(OBJ_DIR)/sys/base/base.a
	$(COMPLINK)

$(d)/graphemedata-$(UNICODE).c: $(d)/vendor/mkgraphemedata $(d)/vendor/GraphemeBreakProperty-$(UNICODE).txt
	$^ > $@

GENS += $(d)/vendor/mkgraphemedata

$(LIBS_$(d)): $(OBJS_$(d))
	$(ARCHIVE)

include share/pop.mk