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_keyval.c
38 srcs += ecoli_log.c
39 srcs += ecoli_malloc.c
40 srcs += ecoli_strvec.c
41 srcs += ecoli_test.c
42 srcs += ecoli_tk.c
43 srcs += ecoli_tk_empty.c
44 srcs += ecoli_tk_expr.c
45 srcs += ecoli_tk_expr_test.c
46 srcs += ecoli_tk_int.c
47 srcs += ecoli_tk_many.c
48 srcs += ecoli_tk_option.c
49 srcs += ecoli_tk_or.c
50 srcs += ecoli_tk_re_lex.c
51 srcs += ecoli_tk_seq.c
52 srcs += ecoli_tk_sh_lex.c
53 srcs += ecoli_tk_space.c
54 srcs += ecoli_tk_str.c
55 srcs += ecoli_tk_weakref.c
56
57 shlib-y-$(O)libecoli.so := $(srcs)
58
59 ldflags-$(O)test = -rdynamic
60 exe-y-$(O)test = $(srcs) main.c
61
62 ldflags-$(O)readline = -lreadline -ltermcap
63 exe-y-$(O)readline = $(srcs) main-readline.c
64
65 include $(ECOLI)/mk/ecoli-post.mk
66
67 all: _ecoli_all
68
69 clean: _ecoli_clean
70
71 .PHONY: clean all