save
[protos/libecoli.git] / lib / Makefile
1 #
2 # Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are met:
6 #
7 #     * Redistributions of source code must retain the above copyright
8 #       notice, this list of conditions and the following disclaimer.
9 #     * Redistributions in binary form must reproduce the above copyright
10 #       notice, this list of conditions and the following disclaimer in the
11 #       documentation and/or other materials provided with the distribution.
12 #     * Neither the name of the University of California, Berkeley nor the
13 #       names of its contributors may be used to endorse or promote products
14 #       derived from this software without specific prior written permission.
15 #
16 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
17 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 # DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
20 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
27 ECOLI ?= $(abspath ..)
28 include $(ECOLI)/mk/ecoli-pre.mk
29
30 # output path with trailing slash
31 O ?= build/
32
33 CFLAGS  = -g -O0 -Wall -Werror -W -Wextra -fPIC -Wmissing-prototypes
34 CFLAGS += -I.
35
36 srcs :=
37 srcs += ecoli_completed.c
38 srcs += ecoli_keyval.c
39 srcs += ecoli_log.c
40 srcs += ecoli_malloc.c
41 srcs += ecoli_strvec.c
42 srcs += ecoli_test.c
43 srcs += ecoli_node.c
44 srcs += ecoli_node_cmd.c
45 srcs += ecoli_node_empty.c
46 srcs += ecoli_node_expr.c
47 srcs += ecoli_node_expr_test.c
48 srcs += ecoli_node_int.c
49 srcs += ecoli_node_many.c
50 srcs += ecoli_node_option.c
51 srcs += ecoli_node_or.c
52 srcs += ecoli_node_re.c
53 srcs += ecoli_node_re_lex.c
54 srcs += ecoli_node_seq.c
55 srcs += ecoli_node_sh_lex.c
56 srcs += ecoli_node_space.c
57 srcs += ecoli_node_str.c
58 srcs += ecoli_node_subset.c
59 srcs += ecoli_node_weakref.c
60 srcs += ecoli_parsed.c
61
62 shlib-y-$(O)libecoli.so := $(srcs)
63
64 ldflags-$(O)test = -rdynamic
65 exe-y-$(O)test = $(srcs) main.c
66
67 ldflags-$(O)readline = -lreadline -ltermcap
68 exe-y-$(O)readline = $(srcs) main-readline.c
69
70 include $(ECOLI)/mk/ecoli-post.mk
71
72 all: _ecoli_all
73
74 clean: _ecoli_clean
75
76 .PHONY: clean all