Makefile - libgrapheme - unicode string library
(HTM) git clone git://git.suckless.org/libgrapheme
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
Makefile (17792B)
---
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 = 17.0.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 GEN2 =\
60 gen2/character\
61
62 SRC =\
63 src/bidirectional\
64 src/case\
65 src/character\
66 src/line\
67 src/sentence\
68 src/utf8\
69 src/util\
70 src/word\
71
72 TEST =\
73 test/bidirectional\
74 test/case\
75 test/character\
76 test/line\
77 test/sentence\
78 test/utf8-decode\
79 test/utf8-encode\
80 test/word\
81
82 MAN_TEMPLATE =\
83 man/template/is_case.sh\
84 man/template/next_break.sh\
85 man/template/to_case.sh\
86
87 MAN3 =\
88 man/grapheme_decode_utf8\
89 man/grapheme_encode_utf8\
90 man/grapheme_is_character_break\
91 man/grapheme_is_uppercase\
92 man/grapheme_is_uppercase_utf8\
93 man/grapheme_is_lowercase\
94 man/grapheme_is_lowercase_utf8\
95 man/grapheme_is_titlecase\
96 man/grapheme_is_titlecase_utf8\
97 man/grapheme_next_character_break\
98 man/grapheme_next_line_break\
99 man/grapheme_next_sentence_break\
100 man/grapheme_next_word_break\
101 man/grapheme_next_character_break_utf8\
102 man/grapheme_next_line_break_utf8\
103 man/grapheme_next_sentence_break_utf8\
104 man/grapheme_next_word_break_utf8\
105 man/grapheme_to_uppercase\
106 man/grapheme_to_uppercase_utf8\
107 man/grapheme_to_lowercase\
108 man/grapheme_to_lowercase_utf8\
109 man/grapheme_to_titlecase\
110 man/grapheme_to_titlecase_utf8\
111
112 MAN7 =\
113 man/libgrapheme\
114
115 all: data/LICENSE $(MAN3:=.3) $(MAN7:=.7) $(ANAME) $(SONAME)
116
117 data/BidiBrackets.txt:
118 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/BidiBrackets.txt
119
120 data/BidiCharacterTest.txt:
121 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/BidiCharacterTest.txt
122
123 data/BidiMirroring.txt:
124 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/BidiMirroring.txt
125
126 data/BidiTest.txt:
127 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/BidiTest.txt
128
129 data/DerivedBidiClass.txt:
130 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/extracted/DerivedBidiClass.txt
131
132 data/DerivedCoreProperties.txt:
133 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/DerivedCoreProperties.txt
134
135 data/EastAsianWidth.txt:
136 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/EastAsianWidth.txt
137
138 data/emoji-data.txt:
139 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/emoji/emoji-data.txt
140
141 data/GraphemeBreakProperty.txt:
142 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/GraphemeBreakProperty.txt
143
144 data/GraphemeBreakTest.txt:
145 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/GraphemeBreakTest.txt
146
147 data/LICENSE:
148 wget -O $@ https://www.unicode.org/license.txt
149
150 data/LineBreak.txt:
151 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/LineBreak.txt
152
153 data/LineBreakTest.txt:
154 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/LineBreakTest.txt
155
156 data/SentenceBreakProperty.txt:
157 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/SentenceBreakProperty.txt
158
159 data/SentenceBreakTest.txt:
160 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/SentenceBreakTest.txt
161
162 data/SpecialCasing.txt:
163 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/SpecialCasing.txt
164
165 data/UnicodeData.txt:
166 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/UnicodeData.txt
167
168 data/WordBreakProperty.txt:
169 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/WordBreakProperty.txt
170
171 data/WordBreakTest.txt:
172 wget -O $@ https://www.unicode.org/Public/$(UNICODE_VERSION)/ucd/auxiliary/WordBreakTest.txt
173
174 benchmark/bidirectional.o: benchmark/bidirectional.c Makefile config.mk gen/bidirectional-test.h grapheme.h benchmark/util.h
175 benchmark/case.o: benchmark/case.c Makefile config.mk gen/word-test.h grapheme.h benchmark/util.h
176 benchmark/character.o: benchmark/character.c Makefile config.mk gen/character-test.h grapheme.h benchmark/util.h
177 benchmark/line.o: benchmark/line.c Makefile config.mk gen/line-test.h grapheme.h benchmark/util.h
178 benchmark/utf8-decode.o: benchmark/utf8-decode.c Makefile config.mk gen/character-test.h grapheme.h benchmark/util.h
179 benchmark/sentence.o: benchmark/sentence.c Makefile config.mk gen/sentence-test.h grapheme.h benchmark/util.h
180 benchmark/util.o: benchmark/util.c Makefile config.mk benchmark/util.h
181 benchmark/word.o: benchmark/word.c Makefile config.mk gen/word-test.h grapheme.h benchmark/util.h
182 gen/bidirectional.o: gen/bidirectional.c Makefile config.mk gen/util.h
183 gen/bidirectional-test.o: gen/bidirectional-test.c Makefile config.mk gen/util.h
184 gen/case.o: gen/case.c Makefile config.mk gen/util.h
185 gen/character.o: gen/character.c Makefile config.mk gen/util.h
186 gen/character-test.o: gen/character-test.c Makefile config.mk gen/util.h
187 gen/line.o: gen/line.c Makefile config.mk gen/util.h
188 gen/line-test.o: gen/line-test.c Makefile config.mk gen/util.h
189 gen/sentence.o: gen/sentence.c Makefile config.mk gen/util.h
190 gen/sentence-test.o: gen/sentence-test.c Makefile config.mk gen/util.h
191 gen/word.o: gen/word.c Makefile config.mk gen/util.h
192 gen/word-test.o: gen/word-test.c Makefile config.mk gen/util.h
193 gen/util.o: gen/util.c Makefile config.mk gen/util.h
194 gen2/character.o: gen2/character.c Makefile config.mk gen2/util.h
195 gen2/util.o: gen2/util.c Makefile config.mk gen2/util.h
196 src/bidirectional.o: src/bidirectional.c Makefile config.mk gen/bidirectional.h grapheme.h src/util.h
197 src/case.o: src/case.c Makefile config.mk gen/case.h grapheme.h src/util.h
198 src/character.o: src/character.c Makefile config.mk gen/character.h grapheme.h src/util.h
199 src/line.o: src/line.c Makefile config.mk gen/line.h grapheme.h src/util.h
200 src/sentence.o: src/sentence.c Makefile config.mk gen/sentence.h grapheme.h src/util.h
201 src/utf8.o: src/utf8.c Makefile config.mk grapheme.h
202 src/util.o: src/util.c Makefile config.mk gen/types.h grapheme.h src/util.h
203 src/word.o: src/word.c Makefile config.mk gen/word.h grapheme.h src/util.h
204 test/bidirectional.o: test/bidirectional.c Makefile config.mk gen/bidirectional.h gen/bidirectional-test.h grapheme.h test/util.h
205 test/case.o: test/case.c Makefile config.mk grapheme.h test/util.h
206 test/character.o: test/character.c Makefile config.mk gen/character-test.h grapheme.h test/util.h
207 test/line.o: test/line.c Makefile config.mk gen/line-test.h grapheme.h test/util.h
208 test/sentence.o: test/sentence.c Makefile config.mk gen/sentence-test.h grapheme.h test/util.h
209 test/utf8-encode.o: test/utf8-encode.c Makefile config.mk grapheme.h test/util.h
210 test/utf8-decode.o: test/utf8-decode.c Makefile config.mk grapheme.h test/util.h
211 test/util.o: test/util.c Makefile config.mk test/util.h
212 test/word.o: test/word.c Makefile config.mk gen/word-test.h grapheme.h test/util.h
213
214 benchmark/bidirectional$(BINSUFFIX): benchmark/bidirectional.o benchmark/util.o $(ANAME)
215 benchmark/case$(BINSUFFIX): benchmark/case.o benchmark/util.o $(ANAME)
216 benchmark/character$(BINSUFFIX): benchmark/character.o benchmark/util.o $(ANAME)
217 benchmark/line$(BINSUFFIX): benchmark/line.o benchmark/util.o $(ANAME)
218 benchmark/sentence$(BINSUFFIX): benchmark/sentence.o benchmark/util.o $(ANAME)
219 benchmark/utf8-decode$(BINSUFFIX): benchmark/utf8-decode.o benchmark/util.o $(ANAME)
220 benchmark/word$(BINSUFFIX): benchmark/word.o benchmark/util.o $(ANAME)
221 gen/bidirectional$(BINSUFFIX): gen/bidirectional.o gen/util.o
222 gen/bidirectional-test$(BINSUFFIX): gen/bidirectional-test.o gen/util.o
223 gen/case$(BINSUFFIX): gen/case.o gen/util.o
224 gen/character$(BINSUFFIX): gen/character.o gen/util.o
225 gen/character-test$(BINSUFFIX): gen/character-test.o gen/util.o
226 gen/line$(BINSUFFIX): gen/line.o gen/util.o
227 gen/line-test$(BINSUFFIX): gen/line-test.o gen/util.o
228 gen/sentence$(BINSUFFIX): gen/sentence.o gen/util.o
229 gen/sentence-test$(BINSUFFIX): gen/sentence-test.o gen/util.o
230 gen/word$(BINSUFFIX): gen/word.o gen/util.o
231 gen/word-test$(BINSUFFIX): gen/word-test.o gen/util.o
232 gen2/character$(BINSUFFIX): gen2/character.o gen2/util.o
233 test/bidirectional$(BINSUFFIX): test/bidirectional.o test/util.o $(ANAME)
234 test/case$(BINSUFFIX): test/case.o test/util.o $(ANAME)
235 test/character$(BINSUFFIX): test/character.o test/util.o $(ANAME)
236 test/line$(BINSUFFIX): test/line.o test/util.o $(ANAME)
237 test/sentence$(BINSUFFIX): test/sentence.o test/util.o $(ANAME)
238 test/utf8-encode$(BINSUFFIX): test/utf8-encode.o test/util.o $(ANAME)
239 test/utf8-decode$(BINSUFFIX): test/utf8-decode.o test/util.o $(ANAME)
240 test/word$(BINSUFFIX): test/word.o test/util.o $(ANAME)
241
242 gen/bidirectional.h: data/BidiBrackets.txt data/BidiMirroring.txt data/DerivedBidiClass.txt data/UnicodeData.txt gen/bidirectional$(BINSUFFIX)
243 gen/bidirectional-test.h: data/BidiCharacterTest.txt data/BidiTest.txt gen/bidirectional-test$(BINSUFFIX)
244 gen/case.h: data/DerivedCoreProperties.txt data/UnicodeData.txt data/SpecialCasing.txt gen/case$(BINSUFFIX)
245 gen/character.h: data/DerivedCoreProperties.txt data/emoji-data.txt data/GraphemeBreakProperty.txt gen/character$(BINSUFFIX)
246 gen/character-test.h: data/GraphemeBreakTest.txt gen/character-test$(BINSUFFIX)
247 gen/line.h: data/emoji-data.txt data/EastAsianWidth.txt data/LineBreak.txt gen/line$(BINSUFFIX)
248 gen/line-test.h: data/LineBreakTest.txt gen/line-test$(BINSUFFIX)
249 gen/sentence.h: data/SentenceBreakProperty.txt gen/sentence$(BINSUFFIX)
250 gen/sentence-test.h: data/SentenceBreakTest.txt gen/sentence-test$(BINSUFFIX)
251 gen/word.h: data/WordBreakProperty.txt gen/word$(BINSUFFIX)
252 gen/word-test.h: data/WordBreakTest.txt gen/word-test$(BINSUFFIX)
253 gen2/character.gen.h: data/DerivedCoreProperties.txt data/emoji-data.txt data/GraphemeBreakProperty.txt gen2/character$(BINSUFFIX)
254
255 man/grapheme_is_character_break.3: man/grapheme_is_character_break.sh Makefile config.mk
256 man/grapheme_is_uppercase.3: man/grapheme_is_uppercase.sh man/template/is_case.sh Makefile config.mk
257 man/grapheme_is_uppercase_utf8.3: man/grapheme_is_uppercase_utf8.sh man/template/is_case.sh Makefile config.mk
258 man/grapheme_is_lowercase.3: man/grapheme_is_lowercase.sh man/template/is_case.sh Makefile config.mk
259 man/grapheme_is_lowercase_utf8.3: man/grapheme_is_lowercase_utf8.sh man/template/is_case.sh Makefile config.mk
260 man/grapheme_is_titlecase.3: man/grapheme_is_titlecase.sh man/template/is_case.sh Makefile config.mk
261 man/grapheme_is_titlecase_utf8.3: man/grapheme_is_titlecase_utf8.sh man/template/is_case.sh Makefile config.mk
262 man/grapheme_next_character_break.3: man/grapheme_next_character_break.sh man/template/next_break.sh Makefile config.mk
263 man/grapheme_next_line_break.3: man/grapheme_next_line_break.sh man/template/next_break.sh Makefile config.mk
264 man/grapheme_next_sentence_break.3: man/grapheme_next_sentence_break.sh man/template/next_break.sh Makefile config.mk
265 man/grapheme_next_word_break.3: man/grapheme_next_word_break.sh man/template/next_break.sh Makefile config.mk
266 man/grapheme_next_character_break_utf8.3: man/grapheme_next_character_break_utf8.sh man/template/next_break.sh Makefile config.mk
267 man/grapheme_next_line_break_utf8.3: man/grapheme_next_line_break_utf8.sh man/template/next_break.sh Makefile config.mk
268 man/grapheme_next_sentence_break_utf8.3: man/grapheme_next_sentence_break_utf8.sh man/template/next_break.sh Makefile config.mk
269 man/grapheme_next_word_break_utf8.3: man/grapheme_next_word_break_utf8.sh man/template/next_break.sh Makefile config.mk
270 man/grapheme_to_uppercase.3: man/grapheme_to_uppercase.sh man/template/to_case.sh Makefile config.mk
271 man/grapheme_to_lowercase.3: man/grapheme_to_lowercase.sh man/template/to_case.sh Makefile config.mk
272 man/grapheme_to_titlecase.3: man/grapheme_to_titlecase.sh man/template/to_case.sh Makefile config.mk
273 man/grapheme_to_uppercase_utf8.3: man/grapheme_to_uppercase_utf8.sh man/template/to_case.sh Makefile config.mk
274 man/grapheme_to_lowercase_utf8.3: man/grapheme_to_lowercase_utf8.sh man/template/to_case.sh Makefile config.mk
275 man/grapheme_to_titlecase_utf8.3: man/grapheme_to_titlecase_utf8.sh man/template/to_case.sh Makefile config.mk
276 man/grapheme_decode_utf8.3: man/grapheme_decode_utf8.sh Makefile config.mk
277 man/grapheme_encode_utf8.3: man/grapheme_encode_utf8.sh Makefile config.mk
278
279 man/libgrapheme.7: man/libgrapheme.sh Makefile config.mk
280
281 $(GEN:=.o) gen/util.o:
282 $(BUILD_CC) -c -o $@ $(BUILD_CPPFLAGS) $(BUILD_CFLAGS) $(@:.o=.c)
283
284 $(GEN2:=.o) gen2/util.o:
285 $(BUILD_CC) -c -o $@ $(BUILD_CPPFLAGS) $(BUILD_CFLAGS) $(@:.o=.c)
286
287 $(BENCHMARK:=.o) benchmark/util.o $(TEST:=.o) test/util.o:
288 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(@:.o=.c)
289
290 $(SRC:=.o):
291 $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(SHFLAGS) $(@:.o=.c)
292
293 $(BENCHMARK:=$(BINSUFFIX)):
294 $(CC) -o $@ $(LDFLAGS) $(@:$(BINSUFFIX)=.o) benchmark/util.o $(ANAME) -lutf8proc
295
296 $(GEN:=$(BINSUFFIX)):
297 $(BUILD_CC) -o $@ $(BUILD_LDFLAGS) $(@:$(BINSUFFIX)=.o) gen/util.o
298
299 $(GEN2:=$(BINSUFFIX)):
300 $(BUILD_CC) -o $@ $(BUILD_LDFLAGS) $(@:$(BINSUFFIX)=.o) gen2/util.o
301
302 $(TEST:=$(BINSUFFIX)):
303 $(CC) -o $@ $(LDFLAGS) $(@:$(BINSUFFIX)=.o) test/util.o $(ANAME)
304
305 $(GEN:=.h):
306 $(@:.h=$(BINSUFFIX)) > $@
307
308 $(GEN2:=.gen.h):
309 $(@:.gen.h=$(BINSUFFIX)) > $@
310
311 $(ANAME): $(SRC:=.o)
312 $(AR) -rc $@ $?
313 $(RANLIB) $@
314
315 $(SONAME): $(SRC:=.o)
316 $(CC) -o $@ $(SOFLAGS) $(LDFLAGS) $(SRC:=.o)
317
318 $(MAN3:=.3):
319 SH="$(SH)" MAN_DATE="$(MAN_DATE)" UNICODE_VERSION="$(UNICODE_VERSION)" $(SH) $(@:.3=.sh) > $@
320
321 $(MAN7:=.7):
322 SH="$(SH)" MAN_DATE="$(MAN_DATE)" UNICODE_VERSION="$(UNICODE_VERSION)" $(SH) $(@:.7=.sh) > $@
323
324 benchmark: $(BENCHMARK:=$(BINSUFFIX))
325 for m in $(BENCHMARK:=$(BINSUFFIX)); do ./$$m; done
326
327 check: test
328
329 test: $(TEST:=$(BINSUFFIX))
330 for m in $(TEST:=$(BINSUFFIX)); do ./$$m; done
331
332 install: all
333 mkdir -p "$(DESTDIR)$(LIBPREFIX)"
334 mkdir -p "$(DESTDIR)$(INCPREFIX)"
335 mkdir -p "$(DESTDIR)$(MANPREFIX)/man3"
336 mkdir -p "$(DESTDIR)$(MANPREFIX)/man7"
337 cp -f $(MAN3:=.3) "$(DESTDIR)$(MANPREFIX)/man3"
338 cp -f $(MAN7:=.7) "$(DESTDIR)$(MANPREFIX)/man7"
339 cp -f $(ANAME) "$(DESTDIR)$(LIBPREFIX)"
340 cp -f $(SONAME) "$(DESTDIR)$(LIBPREFIX)/$(SONAME)"
341 if [ "$(SOSYMLINK)" = "true" ]; then i=0; while [ "$$i" -le $(VERSION_MINOR) ]; do ln -sf "$(SONAME)" "$(DESTDIR)$(LIBPREFIX)/libgrapheme.so.$(VERSION_MAJOR).$$i"; i=$$((i+1)); done; fi
342 if [ "$(SOSYMLINK)" = "true" ]; then ln -sf "$(SONAME)" "$(DESTDIR)$(LIBPREFIX)/libgrapheme.so.$(VERSION_MAJOR)"; fi
343 if [ "$(SOSYMLINK)" = "true" ]; then ln -sf "$(SONAME)" "$(DESTDIR)$(LIBPREFIX)/libgrapheme.so"; fi
344 cp -f grapheme.h "$(DESTDIR)$(INCPREFIX)"
345 if ! [ -z "$(LDCONFIG)" ]; then $(SHELL) -c "$(LDCONFIG)"; fi
346 if ! [ -z "$(PCPREFIX)" ]; then mkdir -p "$(DESTDIR)$(PCPREFIX)"; printf "Name: libgrapheme\nDescription: Unicode string library\nURL: https://libs.suckless.org/libgrapheme/\nVersion: $(VERSION)\nCflags: -I$(INCPREFIX)\nLibs: -L$(LIBPREFIX) -lgrapheme\n" > "$(DESTDIR)$(PCPREFIX)/libgrapheme.pc"; fi
347
348 uninstall:
349 for m in $(MAN3:=.3); do rm -f "$(DESTDIR)$(MANPREFIX)/man3/`basename $$m`"; done
350 for m in $(MAN7:=.7); do rm -f "$(DESTDIR)$(MANPREFIX)/man7/`basename $$m`"; done
351 rm -f "$(DESTDIR)$(LIBPREFIX)/$(ANAME)"
352 rm -f "$(DESTDIR)$(LIBPREFIX)/$(SONAME)"
353 if [ "$(SOSYMLINK)" = "true" ]; then i=0; while [ "$$i" -le $(VERSION_MINOR) ]; do rm -f "$(DESTDIR)$(LIBPREFIX)/libgrapheme.so.$(VERSION_MAJOR).$$i"; i=$$((i+1)); done; fi
354 if [ "$(SOSYMLINK)" = "true" ]; then rm -f "$(DESTDIR)$(LIBPREFIX)/libgrapheme.so.$(VERSION_MAJOR)"; fi
355 if [ "$(SOSYMLINK)" = "true" ]; then rm -f "$(DESTDIR)$(LIBPREFIX)/libgrapheme.so"; fi
356 rm -f "$(DESTDIR)$(INCPREFIX)/grapheme.h"
357 if ! [ -z "$(LDCONFIG)" ]; then $(SHELL) -c "$(LDCONFIG)"; fi
358 if ! [ -z "$(PCPREFIX)" ]; then rm -f "$(DESTDIR)$(PCPREFIX)/libgrapheme.pc"; fi
359
360 clean:
361 rm -f $(BENCHMARK:=.o) benchmark/util.o $(BENCHMARK:=$(BINSUFFIX)) $(GEN:=.h) $(GEN:=.o) gen/util.o $(GEN:=$(BINSUFFIX)) $(GEN2:=.h) $(GEN2:=.o) gen2/util.o $(GEN2:=$(BINSUFFIX)) $(SRC:=.o) src/util.o $(TEST:=.o) test/util.o $(TEST:=$(BINSUFFIX)) $(ANAME) $(SONAME) $(MAN3:=.3) $(MAN7:=.7)
362
363 clean-data:
364 rm -f $(DATA)
365
366 dist:
367 rm -rf "libgrapheme-$(VERSION)"
368 mkdir "libgrapheme-$(VERSION)"
369 for m in benchmark data gen man man/template src test; do mkdir "libgrapheme-$(VERSION)/$$m"; done
370 cp config.mk configure grapheme.h LICENSE Makefile README "libgrapheme-$(VERSION)"
371 cp $(BENCHMARK:=.c) benchmark/util.c benchmark/util.h "libgrapheme-$(VERSION)/benchmark"
372 cp $(DATA) "libgrapheme-$(VERSION)/data"
373 cp $(GEN:=.c) gen/util.c gen/types.h gen/util.h "libgrapheme-$(VERSION)/gen"
374 cp $(MAN3:=.sh) $(MAN7:=.sh) "libgrapheme-$(VERSION)/man"
375 cp $(MAN_TEMPLATE) "libgrapheme-$(VERSION)/man/template"
376 cp $(SRC:=.c) src/util.h "libgrapheme-$(VERSION)/src"
377 cp $(TEST:=.c) test/util.c test/util.h "libgrapheme-$(VERSION)/test"
378 tar -cf - "libgrapheme-$(VERSION)" | gzip -c > "libgrapheme-$(VERSION).tar.gz"
379 rm -rf "libgrapheme-$(VERSION)"
380
381 format:
382 clang-format -i grapheme.h $(BENCHMARK:=.c) benchmark/util.c benchmark/util.h $(GEN:=.c) gen/util.c gen/types.h gen/util.h $(SRC:=.c) src/util.h $(TEST:=.c) test/util.c test/util.h
383
384 .PHONY: all benchmark check clean clean-data dist format install test uninstall