Introduction
Introduction Statistics Contact Development Disclaimer Help
Makefile - libgrapheme - unicode string library
git clone git://git.suckless.org/libgrapheme
Log
Files
Refs
README
LICENSE
---
Makefile (17163B)
---
1 # See LICENSE file for copyright and license details
2 # libgrapheme - unicode string library
3 .POSIX:
4 .SUFFIXES:
5
6 VERSION_MAJOR = 2
7 VERSION_MINOR = 0
8 VERSION_PATCH = 1
9 UNICODE_VERSION = 15.1.0
10 MAN_DATE = 2022-10-06
11
12 include config.mk
13
14 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
15
16 BENCHMARK =\
17 benchmark/bidirectional\
18 benchmark/case\
19 benchmark/character\
20 benchmark/sentence\
21 benchmark/line\
22 benchmark/utf8-decode\
23 benchmark/word\
24
25 DATA =\
26 data/BidiBrackets.txt\
27 data/BidiCharacterTest.txt\
28 data/BidiMirroring.txt\
29 data/BidiTest.txt\
30 data/DerivedBidiClass.txt\
31 data/DerivedCoreProperties.txt\
32 data/EastAsianWidth.txt\
33 data/emoji-data.txt\
34 data/GraphemeBreakProperty.txt\
35 data/GraphemeBreakTest.txt\
36 data/LICENSE\
37 data/LineBreak.txt\
38 data/LineBreakTest.txt\
39 data/SentenceBreakProperty.txt\
40 data/SentenceBreakTest.txt\
41 data/SpecialCasing.txt\
42 data/UnicodeData.txt\
43 data/WordBreakProperty.txt\
44 data/WordBreakTest.txt\
45
46 GEN =\
47 gen/bidirectional\
48 gen/bidirectional-test\
49 gen/case\
50 gen/character\
51 gen/character-test\
52 gen/line\
53 gen/line-test\
54 gen/sentence\
55 gen/sentence-test\
56 gen/word\
57 gen/word-test\
58
59 SRC =\
60 src/bidirectional\
61 src/case\
62 src/character\
63 src/line\
64 src/sentence\
65 src/utf8\
66 src/util\
67 src/word\
68
69 TEST =\
70 test/bidirectional\
71 test/case\
72 test/character\
73 test/line\
74 test/sentence\
75 test/utf8-decode\
76 test/utf8-encode\
77 test/word\
78
79 MAN_TEMPLATE =\
80 man/template/is_case.sh\
81 man/template/next_break.sh\
82 man/template/to_case.sh\
83
84 MAN3 =\
85 man/grapheme_decode_utf8\
86 man/grapheme_encode_utf8\
87 man/grapheme_is_character_break\
88 man/grapheme_is_uppercase\
89 man/grapheme_is_uppercase_utf8\
90 man/grapheme_is_lowercase\
91 man/grapheme_is_lowercase_utf8\
92 man/grapheme_is_titlecase\
93 man/grapheme_is_titlecase_utf8\
94 man/grapheme_next_character_break\
95 man/grapheme_next_line_break\
96 man/grapheme_next_sentence_break\
97 man/grapheme_next_word_break\
98 man/grapheme_next_character_break_utf8\
99 man/grapheme_next_line_break_utf8\
100 man/grapheme_next_sentence_break_utf8\
101 man/grapheme_next_word_break_utf8\
102 man/grapheme_to_uppercase\
103 man/grapheme_to_uppercase_utf8\
104 man/grapheme_to_lowercase\
105 man/grapheme_to_lowercase_utf8\
106 man/grapheme_to_titlecase\
107 man/grapheme_to_titlecase_utf8\
108
109 MAN7 =\
110 man/libgrapheme\
111
112 all: data/LICENSE $(MAN3:=.3) $(MAN7:=.7) $(ANAME) $(SONAME)
113
114 data/BidiBrackets.txt:
115 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
116
117 data/BidiCharacterTest.txt:
118 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
119
120 data/BidiMirroring.txt:
121 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
122
123 data/BidiTest.txt:
124 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
125
126 data/DerivedBidiClass.txt:
127 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
128
129 data/DerivedCoreProperties.txt:
130 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
131
132 data/EastAsianWidth.txt:
133 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
134
135 data/emoji-data.txt:
136 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
137
138 data/GraphemeBreakProperty.txt:
139 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
140
141 data/GraphemeBreakTest.txt:
142 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
143
144 data/LICENSE:
145 wget -O $@ https://www.unicode.org/license.txt
146
147 data/LineBreak.txt:
148 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
149
150 data/LineBreakTest.txt:
151 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
152
153 data/SentenceBreakProperty.txt:
154 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
155
156 data/SentenceBreakTest.txt:
157 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
158
159 data/SpecialCasing.txt:
160 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
161
162 data/UnicodeData.txt:
163 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
164
165 data/WordBreakProperty.txt:
166 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
167
168 data/WordBreakTest.txt:
169 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd…
170
171 benchmark/bidirectional.o: benchmark/bidirectional.c Makefile config.mk …
172 benchmark/case.o: benchmark/case.c Makefile config.mk gen/word-test.h gr…
173 benchmark/character.o: benchmark/character.c Makefile config.mk gen/char…
174 benchmark/line.o: benchmark/line.c Makefile config.mk gen/line-test.h gr…
175 benchmark/utf8-decode.o: benchmark/utf8-decode.c Makefile config.mk gen/…
176 benchmark/sentence.o: benchmark/sentence.c Makefile config.mk gen/senten…
177 benchmark/util.o: benchmark/util.c Makefile config.mk benchmark/util.h
178 benchmark/word.o: benchmark/word.c Makefile config.mk gen/word-test.h gr…
179 gen/bidirectional.o: gen/bidirectional.c Makefile config.mk gen/util.h
180 gen/bidirectional-test.o: gen/bidirectional-test.c Makefile config.mk ge…
181 gen/case.o: gen/case.c Makefile config.mk gen/util.h
182 gen/character.o: gen/character.c Makefile config.mk gen/util.h
183 gen/character-test.o: gen/character-test.c Makefile config.mk gen/util.h
184 gen/line.o: gen/line.c Makefile config.mk gen/util.h
185 gen/line-test.o: gen/line-test.c Makefile config.mk gen/util.h
186 gen/sentence.o: gen/sentence.c Makefile config.mk gen/util.h
187 gen/sentence-test.o: gen/sentence-test.c Makefile config.mk gen/util.h
188 gen/word.o: gen/word.c Makefile config.mk gen/util.h
189 gen/word-test.o: gen/word-test.c Makefile config.mk gen/util.h
190 gen/util.o: gen/util.c Makefile config.mk gen/util.h
191 src/bidirectional.o: src/bidirectional.c Makefile config.mk gen/bidirect…
192 src/case.o: src/case.c Makefile config.mk gen/case.h grapheme.h src/util…
193 src/character.o: src/character.c Makefile config.mk gen/character.h grap…
194 src/line.o: src/line.c Makefile config.mk gen/line.h grapheme.h src/util…
195 src/sentence.o: src/sentence.c Makefile config.mk gen/sentence.h graphem…
196 src/utf8.o: src/utf8.c Makefile config.mk grapheme.h
197 src/util.o: src/util.c Makefile config.mk gen/types.h grapheme.h src/uti…
198 src/word.o: src/word.c Makefile config.mk gen/word.h grapheme.h src/util…
199 test/bidirectional.o: test/bidirectional.c Makefile config.mk gen/bidire…
200 test/case.o: test/case.c Makefile config.mk grapheme.h test/util.h
201 test/character.o: test/character.c Makefile config.mk gen/character-test…
202 test/line.o: test/line.c Makefile config.mk gen/line-test.h grapheme.h t…
203 test/sentence.o: test/sentence.c Makefile config.mk gen/sentence-test.h …
204 test/utf8-encode.o: test/utf8-encode.c Makefile config.mk grapheme.h tes…
205 test/utf8-decode.o: test/utf8-decode.c Makefile config.mk grapheme.h tes…
206 test/util.o: test/util.c Makefile config.mk test/util.h
207 test/word.o: test/word.c Makefile config.mk gen/word-test.h grapheme.h t…
208
209 benchmark/bidirectional$(BINSUFFIX): benchmark/bidirectional.o benchmark…
210 benchmark/case$(BINSUFFIX): benchmark/case.o benchmark/util.o $(ANAME)
211 benchmark/character$(BINSUFFIX): benchmark/character.o benchmark/util.o …
212 benchmark/line$(BINSUFFIX): benchmark/line.o benchmark/util.o $(ANAME)
213 benchmark/sentence$(BINSUFFIX): benchmark/sentence.o benchmark/util.o $(…
214 benchmark/utf8-decode$(BINSUFFIX): benchmark/utf8-decode.o benchmark/uti…
215 benchmark/word$(BINSUFFIX): benchmark/word.o benchmark/util.o $(ANAME)
216 gen/bidirectional$(BINSUFFIX): gen/bidirectional.o gen/util.o
217 gen/bidirectional-test$(BINSUFFIX): gen/bidirectional-test.o gen/util.o
218 gen/case$(BINSUFFIX): gen/case.o gen/util.o
219 gen/character$(BINSUFFIX): gen/character.o gen/util.o
220 gen/character-test$(BINSUFFIX): gen/character-test.o gen/util.o
221 gen/line$(BINSUFFIX): gen/line.o gen/util.o
222 gen/line-test$(BINSUFFIX): gen/line-test.o gen/util.o
223 gen/sentence$(BINSUFFIX): gen/sentence.o gen/util.o
224 gen/sentence-test$(BINSUFFIX): gen/sentence-test.o gen/util.o
225 gen/word$(BINSUFFIX): gen/word.o gen/util.o
226 gen/word-test$(BINSUFFIX): gen/word-test.o gen/util.o
227 test/bidirectional$(BINSUFFIX): test/bidirectional.o test/util.o $(ANAME)
228 test/case$(BINSUFFIX): test/case.o test/util.o $(ANAME)
229 test/character$(BINSUFFIX): test/character.o test/util.o $(ANAME)
230 test/line$(BINSUFFIX): test/line.o test/util.o $(ANAME)
231 test/sentence$(BINSUFFIX): test/sentence.o test/util.o $(ANAME)
232 test/utf8-encode$(BINSUFFIX): test/utf8-encode.o test/util.o $(ANAME)
233 test/utf8-decode$(BINSUFFIX): test/utf8-decode.o test/util.o $(ANAME)
234 test/word$(BINSUFFIX): test/word.o test/util.o $(ANAME)
235
236 gen/bidirectional.h: data/BidiBrackets.txt data/BidiMirroring.txt data/D…
237 gen/bidirectional-test.h: data/BidiCharacterTest.txt data/BidiTest.txt g…
238 gen/case.h: data/DerivedCoreProperties.txt data/UnicodeData.txt data/Spe…
239 gen/character.h: data/DerivedCoreProperties.txt data/emoji-data.txt data…
240 gen/character-test.h: data/GraphemeBreakTest.txt gen/character-test$(BIN…
241 gen/line.h: data/emoji-data.txt data/EastAsianWidth.txt data/LineBreak.t…
242 gen/line-test.h: data/LineBreakTest.txt gen/line-test$(BINSUFFIX)
243 gen/sentence.h: data/SentenceBreakProperty.txt gen/sentence$(BINSUFFIX)
244 gen/sentence-test.h: data/SentenceBreakTest.txt gen/sentence-test$(BINSU…
245 gen/word.h: data/WordBreakProperty.txt gen/word$(BINSUFFIX)
246 gen/word-test.h: data/WordBreakTest.txt gen/word-test$(BINSUFFIX)
247
248 man/grapheme_is_character_break.3: man/grapheme_is_character_break.sh Ma…
249 man/grapheme_is_uppercase.3: man/grapheme_is_uppercase.sh man/template/i…
250 man/grapheme_is_uppercase_utf8.3: man/grapheme_is_uppercase_utf8.sh man/…
251 man/grapheme_is_lowercase.3: man/grapheme_is_lowercase.sh man/template/i…
252 man/grapheme_is_lowercase_utf8.3: man/grapheme_is_lowercase_utf8.sh man/…
253 man/grapheme_is_titlecase.3: man/grapheme_is_titlecase.sh man/template/i…
254 man/grapheme_is_titlecase_utf8.3: man/grapheme_is_titlecase_utf8.sh man/…
255 man/grapheme_next_character_break.3: man/grapheme_next_character_break.s…
256 man/grapheme_next_line_break.3: man/grapheme_next_line_break.sh man/temp…
257 man/grapheme_next_sentence_break.3: man/grapheme_next_sentence_break.sh …
258 man/grapheme_next_word_break.3: man/grapheme_next_word_break.sh man/temp…
259 man/grapheme_next_character_break_utf8.3: man/grapheme_next_character_br…
260 man/grapheme_next_line_break_utf8.3: man/grapheme_next_line_break_utf8.s…
261 man/grapheme_next_sentence_break_utf8.3: man/grapheme_next_sentence_brea…
262 man/grapheme_next_word_break_utf8.3: man/grapheme_next_word_break_utf8.s…
263 man/grapheme_to_uppercase.3: man/grapheme_to_uppercase.sh man/template/t…
264 man/grapheme_to_lowercase.3: man/grapheme_to_lowercase.sh man/template/t…
265 man/grapheme_to_titlecase.3: man/grapheme_to_titlecase.sh man/template/t…
266 man/grapheme_to_uppercase_utf8.3: man/grapheme_to_uppercase_utf8.sh man/…
267 man/grapheme_to_lowercase_utf8.3: man/grapheme_to_lowercase_utf8.sh man/…
268 man/grapheme_to_titlecase_utf8.3: man/grapheme_to_titlecase_utf8.sh man/…
269 man/grapheme_decode_utf8.3: man/grapheme_decode_utf8.sh Makefile config.…
270 man/grapheme_encode_utf8.3: man/grapheme_encode_utf8.sh Makefile config.…
271
272 man/libgrapheme.7: man/libgrapheme.sh Makefile config.mk
273
274 $(GEN:=.o) gen/util.o:
275 $(BUILD_CC) -c -o $@ $(BUILD_CPPFLAGS) $(BUILD_CFLAGS) $(@:.o=.c)
276
277 $(BENCHMARK:=.o) benchmark/util.o $(TEST:=.o) test/util.o:
278 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(@:.o=.c)
279
280 $(SRC:=.o):
281 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(SHFLAGS) $(@:.o=.c)
282
283 $(BENCHMARK:=$(BINSUFFIX)):
284 $(CC) -o $@ $(LDFLAGS) $(@:$(BINSUFFIX)=.o) benchmark/util.o $(A…
285
286 $(GEN:=$(BINSUFFIX)):
287 $(BUILD_CC) -o $@ $(BUILD_LDFLAGS) $(@:$(BINSUFFIX)=.o) gen/util…
288
289 $(TEST:=$(BINSUFFIX)):
290 $(CC) -o $@ $(LDFLAGS) $(@:$(BINSUFFIX)=.o) test/util.o $(ANAME)
291
292 $(GEN:=.h):
293 $(@:.h=$(BINSUFFIX)) > $@
294
295 $(ANAME): $(SRC:=.o)
296 $(AR) -rc $@ $?
297 $(RANLIB) $@
298
299 $(SONAME): $(SRC:=.o)
300 $(CC) -o $@ $(SOFLAGS) $(LDFLAGS) $(SRC:=.o)
301
302 $(MAN3:=.3):
303 SH="$(SH)" MAN_DATE="$(MAN_DATE)" UNICODE_VERSION="$(UNICODE_VER…
304
305 $(MAN7:=.7):
306 SH="$(SH)" MAN_DATE="$(MAN_DATE)" UNICODE_VERSION="$(UNICODE_VER…
307
308 benchmark: $(BENCHMARK:=$(BINSUFFIX))
309 for m in $(BENCHMARK:=$(BINSUFFIX)); do ./$$m; done
310
311 check: test
312
313 test: $(TEST:=$(BINSUFFIX))
314 for m in $(TEST:=$(BINSUFFIX)); do ./$$m; done
315
316 install: all
317 mkdir -p "$(DESTDIR)$(LIBPREFIX)"
318 mkdir -p "$(DESTDIR)$(INCPREFIX)"
319 mkdir -p "$(DESTDIR)$(MANPREFIX)/man3"
320 mkdir -p "$(DESTDIR)$(MANPREFIX)/man7"
321 cp -f $(MAN3:=.3) "$(DESTDIR)$(MANPREFIX)/man3"
322 cp -f $(MAN7:=.7) "$(DESTDIR)$(MANPREFIX)/man7"
323 cp -f $(ANAME) "$(DESTDIR)$(LIBPREFIX)"
324 cp -f $(SONAME) "$(DESTDIR)$(LIBPREFIX)/$(SONAME)"
325 if [ "$(SOSYMLINK)" = "true" ]; then i=0; while [ "$$i" -le $(VE…
326 if [ "$(SOSYMLINK)" = "true" ]; then ln -sf "$(SONAME)" "$(DESTD…
327 if [ "$(SOSYMLINK)" = "true" ]; then ln -sf "$(SONAME)" "$(DESTD…
328 cp -f grapheme.h "$(DESTDIR)$(INCPREFIX)"
329 if ! [ -z "$(LDCONFIG)" ]; then $(SHELL) -c "$(LDCONFIG)"; fi
330 if ! [ -z "$(PCPREFIX)" ]; then mkdir -p "$(DESTDIR)$(PCPREFIX)"…
331
332 uninstall:
333 for m in $(MAN3:=.3); do rm -f "$(DESTDIR)$(MANPREFIX)/man3/`bas…
334 for m in $(MAN7:=.7); do rm -f "$(DESTDIR)$(MANPREFIX)/man7/`bas…
335 rm -f "$(DESTDIR)$(LIBPREFIX)/$(ANAME)"
336 rm -f "$(DESTDIR)$(LIBPREFIX)/$(SONAME)"
337 if [ "$(SOSYMLINK)" = "true" ]; then i=0; while [ "$$i" -le $(VE…
338 if [ "$(SOSYMLINK)" = "true" ]; then rm -f "$(DESTDIR)$(LIBPREFI…
339 if [ "$(SOSYMLINK)" = "true" ]; then rm -f "$(DESTDIR)$(LIBPREFI…
340 rm -f "$(DESTDIR)$(INCPREFIX)/grapheme.h"
341 if ! [ -z "$(LDCONFIG)" ]; then $(SHELL) -c "$(LDCONFIG)"; fi
342 if ! [ -z "$(PCPREFIX)" ]; then rm -f "$(DESTDIR)$(PCPREFIX)/lib…
343
344 clean:
345 rm -f $(BENCHMARK:=.o) benchmark/util.o $(BENCHMARK:=$(BINSUFFIX…
346
347 clean-data:
348 rm -f $(DATA)
349
350 dist:
351 rm -rf "libgrapheme-$(VERSION)"
352 mkdir "libgrapheme-$(VERSION)"
353 for m in benchmark data gen man man/template src test; do mkdir …
354 cp config.mk configure grapheme.h LICENSE Makefile README "libgr…
355 cp $(BENCHMARK:=.c) benchmark/util.c benchmark/util.h "libgraphe…
356 cp $(DATA) "libgrapheme-$(VERSION)/data"
357 cp $(GEN:=.c) gen/util.c gen/types.h gen/util.h "libgrapheme-$(V…
358 cp $(MAN3:=.sh) $(MAN7:=.sh) "libgrapheme-$(VERSION)/man"
359 cp $(MAN_TEMPLATE) "libgrapheme-$(VERSION)/man/template"
360 cp $(SRC:=.c) src/util.h "libgrapheme-$(VERSION)/src"
361 cp $(TEST:=.c) test/util.c test/util.h "libgrapheme-$(VERSION)/t…
362 tar -cf - "libgrapheme-$(VERSION)" | gzip -c > "libgrapheme-$(VE…
363 rm -rf "libgrapheme-$(VERSION)"
364
365 format:
366 clang-format -i grapheme.h $(BENCHMARK:=.c) benchmark/util.c ben…
367
368 .PHONY: all benchmark check clean clean-data dist format install test un…
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.