annotate Makefile @ 27:4da5819148c6

misc: update copyright years
author David Demelier <markand@malikania.fr>
date Wed, 01 Feb 2023 13:07:04 +0100
parents 887a8fd73d1e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # Makefile -- basic Makefile for libunicode
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
27
4da5819148c6 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 21
diff changeset
4 # Copyright (c) 2013-2023 David Demelier <markand@malikania.fr>
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
11
43a9d763656b unicode: improve C API, removing dynamic allocations
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
17 #
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .POSIX:
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
21 CC= cc
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
22
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
23 PREFIX= /usr/local
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
24 INCDIR= ${PREFIX}/include
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
25 LIBDIR= ${PREFIX}/lib
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
26 MANDIR= ${PREFIX}/share/man
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
27
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
28 VERSION= 1.0.0
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
29
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
30 LIB_SRCS= unicode.c
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
31 LIB_OBJS= ${LIB_SRCS:.c=.o}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
32 LIB_DEPS= ${LIB_SRCS:.c=.d}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
33 LIB= libunicode.a
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
34
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
35 TESTS_SRCS= tests/test-unicode.c
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
36 TESTS_OBJS= ${TESTS_SRCS:.c=}
13
5c917a8cd011 make: simplify
David Demelier <markand@malikania.fr>
parents: 12
diff changeset
37
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 .SUFFIXES:
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
39 .SUFFIXES: .c .o
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
41 all: ${LIB}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
42
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
43 -include ${LIB_DEPS}
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 .c:
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
46 ${CC} ${CFLAGS} -Iextern/librexo -I. $< -o $@ ${LIB} ${LDFLAGS}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
47
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
48 .c.o:
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
49 ${CC} ${CFLAGS} -Iextern/librexo -I. -MMD -c $< -o $@ ${LDFLAGS}
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
50
20
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
51 gen/UnicodeData.txt:
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
52 curl http://unicode.org/Public/UCD/latest/ucd/UnicodeData.txt -o $@
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
53
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
54 unicode.c: gen/UnicodeData.txt gen/mkutf.awk
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 cat gen/unicode-before.c > unicode.c
20
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
56 cat gen/UnicodeData.txt | awk -f gen/mkutf.awk >> unicode.c
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 cat gen/unicode-after.c >> unicode.c
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
59 ${LIB}: ${LIB_OBJS}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
60 ${AR} -rc $@ ${LIB_OBJS}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
61
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
62 ${TESTS_OBJS}: ${LIB}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
63
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
64 tests: ${TESTS_OBJS}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
65 for t in ${TESTS_OBJS}; do ./$$t; done
13
5c917a8cd011 make: simplify
David Demelier <markand@malikania.fr>
parents: 12
diff changeset
66
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
67 install:
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
68 mkdir -p ${DESTDIR}${LIBDIR}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
69 cp libunicode.a ${DESTDIR}${LIBDIR}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
70 mkdir -p ${DESTDIR}${INCDIR}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
71 cp unicode.h ${DESTDIR}${INCDIR}
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
72 mkdir -p ${DESTDIR}${MANDIR}/man3
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
73 cp libunicode.3 ${DESTDIR}${MANDIR}/man3
11
43a9d763656b unicode: improve C API, removing dynamic allocations
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
74
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 clean:
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
76 rm -f ${LIB} ${LIB_DEPS} ${LIB_OBJS} ${TESTS_OBJS}
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
77
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
78 .PHONY: all clean install tests