Mercurial > libunicode
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 |
rev | line source |
---|---|
10
ae1003c2a284
misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # |
28 | 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 | 19 PREFIX := /usr/local |
20 INCDIR := $(PREFIX)/include | |
21 LIBDIR := $(PREFIX)/lib | |
22 MANDIR := $(PREFIX)/share/man | |
21 | 23 |
28 | 24 VERSION := 1.0.0 |
21 | 25 |
28 | 26 LIB_SRCS := unicode.c |
27 LIB_OBJS := $(LIB_SRCS:.c=.o) | |
28 LIB_DEPS := $(LIB_SRCS:.c=.d) | |
29 LIB := libunicode.a | |
21 | 30 |
28 | 31 TESTS_SRCS := tests/test-unicode.c |
32 TESTS_OBJS := $(TESTS_SRCS:.c=) | |
10
ae1003c2a284
misc: extreme simplification
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
28 | 34 override CFLAGS += -fPIC |
21 | 35 |
28 | 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 | 46 $(LIB): $(LIB_OBJS) |
47 $(AR) -rc $@ $(LIB_OBJS) | |
21 | 48 |
28 | 49 $(TESTS_OBJS): | $(LIB) |
50 $(TESTS_OBJS): private CFLAGS += -Iextern/libdt -I. | |
51 $(TESTS_OBJS): private LDLIBS += $(LIB) | |
21 | 52 |
28 | 53 tests: $(TESTS_OBJS) |
54 for t in $(TESTS_OBJS); do ./$$t; done | |
13 | 55 |
21 | 56 install: |
28 | 57 mkdir -p $(DESTDIR)$(LIBDIR) |
58 cp libunicode.a $(DESTDIR)$(LIBDIR) | |
59 mkdir -p $(DESTDIR)$(INCDIR) | |
60 cp unicode.h $(DESTDIR)$(INCDIR) | |
61 mkdir -p $(DESTDIR)$(MANDIR)/man3 | |
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 | 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 | 67 .PHONY: all clean install tests |