annotate GNUmakefile @ 28:f06312a7432b

cmake: enable tests
author David Demelier <markand@malikania.fr>
date Tue, 07 Feb 2023 14:30:33 +0100
parents Makefile@4da5819148c6
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 #
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
2 # GNUmakefile -- GNU Makefile for libunicode
10
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
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
19 PREFIX := /usr/local
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
20 INCDIR := $(PREFIX)/include
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
21 LIBDIR := $(PREFIX)/lib
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
22 MANDIR := $(PREFIX)/share/man
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
23
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
24 VERSION := 1.0.0
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
25
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
26 LIB_SRCS := unicode.c
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
27 LIB_OBJS := $(LIB_SRCS:.c=.o)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
28 LIB_DEPS := $(LIB_SRCS:.c=.d)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
29 LIB := libunicode.a
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
30
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
31 TESTS_SRCS := tests/test-unicode.c
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
32 TESTS_OBJS := $(TESTS_SRCS:.c=)
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
34 override CFLAGS += -fPIC
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
35
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
36 all: $(LIB)
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
20
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
38 gen/UnicodeData.txt:
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
39 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
40
496cd52a50ec unicode: switch to sbase's mkrunetype.awk
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
41 unicode.c: gen/UnicodeData.txt gen/mkutf.awk
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 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
43 cat gen/UnicodeData.txt | awk -f gen/mkutf.awk >> unicode.c
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 cat gen/unicode-after.c >> unicode.c
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
45
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
46 $(LIB): $(LIB_OBJS)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
47 $(AR) -rc $@ $(LIB_OBJS)
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
48
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
49 $(TESTS_OBJS): | $(LIB)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
50 $(TESTS_OBJS): private CFLAGS += -Iextern/libdt -I.
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
51 $(TESTS_OBJS): private LDLIBS += $(LIB)
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
52
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
53 tests: $(TESTS_OBJS)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
54 for t in $(TESTS_OBJS); do ./$$t; done
13
5c917a8cd011 make: simplify
David Demelier <markand@malikania.fr>
parents: 12
diff changeset
55
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
56 install:
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
57 mkdir -p $(DESTDIR)$(LIBDIR)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
58 cp libunicode.a $(DESTDIR)$(LIBDIR)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
59 mkdir -p $(DESTDIR)$(INCDIR)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
60 cp unicode.h $(DESTDIR)$(INCDIR)
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
61 mkdir -p $(DESTDIR)$(MANDIR)/man3
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
62 cp libunicode.3 $(DESTDIR)$(MANDIR)/man3
11
43a9d763656b unicode: improve C API, removing dynamic allocations
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
63
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 clean:
28
f06312a7432b cmake: enable tests
David Demelier <markand@malikania.fr>
parents: 27
diff changeset
65 rm -f $(LIB) $(LIB_DEPS) $(LIB_OBJS) $(TESTS_OBJS)
10
ae1003c2a284 misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff changeset
66
21
887a8fd73d1e cmake: add support
David Demelier <markand@malikania.fr>
parents: 20
diff changeset
67 .PHONY: all clean install tests