X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2FMakefile;h=bb446cf297b8a103f3a3edb22228d1fcf88d9646;hb=008bafc97ac009374f24b12e738830f1a18a3f53;hp=9bbd73b0da121c2370e706f1dc801615f4ae7aa0;hpb=538ee5ebd89490777cf1022e89438bde7d3adcdb;p=protos%2Flibecoli.git diff --git a/lib/Makefile b/lib/Makefile index 9bbd73b..bb446cf 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,28 +1,5 @@ -# +# SPDX-License-Identifier: BSD-3-Clause # Copyright 2016, Olivier MATZ -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the University of California, Berkeley nor the -# names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ECOLI ?= $(abspath ..) include $(ECOLI)/mk/ecoli-pre.mk @@ -30,16 +7,54 @@ include $(ECOLI)/mk/ecoli-pre.mk # output path with trailing slash O ?= build/ -CFLAGS = -g -O0 -Wall -Werror -W -fPIC +# XXX -O0 +CFLAGS = -g -O0 -Wall -Werror -W -Wextra -fPIC -Wmissing-prototypes CFLAGS += -I. -srcs := ecoli_tk.c ecoli_malloc.c ecoli_log.c ecoli_strvec.c +# XXX coverage +CFLAGS += --coverage +LDFLAGS += --coverage +# rm -rf build; rm -rf result; make && ./build/test +# lcov -d build -c -t build/test -o test.info && genhtml -o result test.info + + +srcs := +srcs += ecoli_assert.c +srcs += ecoli_complete.c +srcs += ecoli_config.c srcs += ecoli_keyval.c -srcs += ecoli_tk_str.c ecoli_tk_seq.c -srcs += ecoli_tk_space.c ecoli_tk_or.c ecoli_test.c -srcs += ecoli_tk_empty.c ecoli_tk_int.c -srcs += ecoli_tk_option.c ecoli_tk_many.c -srcs += ecoli_tk_shlex.c +srcs += ecoli_init.c +srcs += ecoli_log.c +srcs += ecoli_malloc.c +srcs += ecoli_murmurhash.c +srcs += ecoli_strvec.c +srcs += ecoli_test.c +srcs += ecoli_node.c +srcs += ecoli_node_any.c +srcs += ecoli_node_cmd.c +srcs += ecoli_node_empty.c +srcs += ecoli_node_expr.c +srcs += ecoli_node_expr_test.c +srcs += ecoli_node_dynamic.c +srcs += ecoli_node_file.c +srcs += ecoli_node_helper.c +srcs += ecoli_node_int.c +srcs += ecoli_node_many.c +srcs += ecoli_node_none.c +srcs += ecoli_node_once.c +srcs += ecoli_node_option.c +srcs += ecoli_node_or.c +srcs += ecoli_node_re.c +srcs += ecoli_node_re_lex.c +srcs += ecoli_node_seq.c +srcs += ecoli_node_sh_lex.c +srcs += ecoli_node_space.c +srcs += ecoli_node_str.c +srcs += ecoli_node_subset.c +srcs += ecoli_parse.c +srcs += ecoli_string.c +srcs += ecoli_vec.c + shlib-y-$(O)libecoli.so := $(srcs) ldflags-$(O)test = -rdynamic @@ -48,6 +63,9 @@ exe-y-$(O)test = $(srcs) main.c ldflags-$(O)readline = -lreadline -ltermcap exe-y-$(O)readline = $(srcs) main-readline.c +ldflags-$(O)parse-yaml = -lyaml +exe-y-$(O)parse-yaml = $(srcs) parse-yaml.c + include $(ECOLI)/mk/ecoli-post.mk all: _ecoli_all