File: makefile

package info (click to toggle)
sombok 2.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 4,520 kB
  • sloc: ansic: 38,009; sh: 3,059; perl: 769; makefile: 134
file content (75 lines) | stat: -rw-r--r-- 2,612 bytes parent folder | download | duplicates (2)
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
#-*- Makefile -*-

UNICODE_VERSIONS = 5.1.0 5.2.0 6.0.0 6.1.0 6.2.0 6.3.0 7.0.0 8.0.0
CURRENT_UNICODE_VERSION = 8.0.0

UNICODE_VERSION ?= $(CURRENT_UNICODE_VERSION)

WGET = wget
UCD_BASE = ftp://www.unicode.org/Public/`echo $(UNICODE_VERSION)|sed -e 's/[^.0-9].*//g'`/ucd/
UNICODEDATA = UnicodeData-$(UNICODE_VERSION).txt
LINEBREAK = LineBreak-$(UNICODE_VERSION).txt
EASTASIANWIDTH = EastAsianWidth-$(UNICODE_VERSION).txt
GRAPHEMEBREAK = GraphemeBreakProperty-$(UNICODE_VERSION).txt
GRAPHEMEBREAK_CUSTOM = GraphemeBreakProperty-$(UNICODE_VERSION).custom
RULES = Rules-$(UNICODE_VERSION).txt
EASTASIANWIDTH_CUSTOM = EastAsianWidth-$(UNICODE_VERSION).custom
LINEBREAK_CUSTOM = LineBreak-$(UNICODE_VERSION).custom
SCRIPTS = Scripts-$(UNICODE_VERSION).txt
#SCRIPTS_CUSTOM = Scripts-$(UNICODE_VERSION).custom
SCRIPTS_CUSTOM =
DATA_C = ../lib/$(UNICODE_VERSION).c
CONSTANTS_H = ../include/sombok_constants.h
CONFIGURE_IN = ../configure.ac
CONFIG_UNICODE = ../UNICODE

all: $(CONSTANTS_H) $(CONFIG_UNICODE)
	if [ -e UnicodeData-$(UNICODE_VERSION).txt ]; then \
	    $(MAKE) data || exit 1; \
	fi

data: $(DATA_C)

$(DATA_C): $(RULES) $(EASTASIANWIDTH) $(LINEBREAK) $(SCRIPTS) $(EASTASIANWIDTH_CUSTOM) $(LINEBREAK_CUSTOM) $(GRAPHEMEBREAK_CUSTOM) data.pl LBCLASSES
	perl data.pl lb,ea,gb,sc $(UNICODE_VERSION)

$(CONSTANTS_H) LBCLASSES: makefile constants.pl
	perl constants.pl lb,ea,gb,sc $(UNICODE_VERSIONS)

$(CONFIG_UNICODE): makefile
	echo "$(CURRENT_UNICODE_VERSION)" > $(CONFIG_UNICODE)
	touch $(CONFIGURE_IN)

custom-data: $(UNICODEDATA) $(LINEBREAK) $(EASTASIANWIDTH) $(GRAPHEMEBREAK) $(SCRIPTS) custom.pl
	for f in $(EASTASIANWIDTH_CUSTOM) $(LINEBREAK_CUSTOM) $(GRAPHEMEBREAK_CUSTOM) $(SCRIPTS_CUSTOM); do \
	    if [ -e $$f ]; then mv $$f $$f.old; fi; done
	perl custom.pl ea $(UNICODE_VERSION) > $(EASTASIANWIDTH_CUSTOM)
	perl custom.pl lb $(UNICODE_VERSION) > $(LINEBREAK_CUSTOM)
	perl custom.pl gb $(UNICODE_VERSION) > $(GRAPHEMEBREAK_CUSTOM)

custom:
	for v in $(UNICODE_VERSIONS); do \
		$(MAKE) custom-data UNICODE_VERSION=$$v; \
	done

unicodedata-data:
	$(WGET) -O $(UNICODEDATA) $(UCD_BASE)UnicodeData\*.txt
	$(WGET) -O $(LINEBREAK) $(UCD_BASE)LineBreak\*.txt
	$(WGET) -O $(EASTASIANWIDTH) $(UCD_BASE)EastAsianWidth\*.txt
	$(WGET) -O $(GRAPHEMEBREAK) $(UCD_BASE)auxiliary/GraphemeBreakProperty\*.txt
	$(WGET) -O $(SCRIPTS) $(UCD_BASE)Scripts\*.txt

unicodedata:
	for v in $(UNICODE_VERSIONS); do \
		$(MAKE) unicodedata-data UNICODE_VERSION=$$v; \
	done

clean-data:
	rm -f $(DATA_C)

clean:
	rm -f $(CONSTANTS_H)
	for v in $(UNICODE_VERSIONS); do \
		$(MAKE) clean-data UNICODE_VERSION=$$v; \
	done