-#
+# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
-#
-# 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
# output path with trailing slash
O ?= build/
+# XXX -O0
CFLAGS = -g -O0 -Wall -Werror -W -Wextra -fPIC -Wmissing-prototypes
CFLAGS += -I.
+# XXX coverage
+CFLAGS += --coverage -fprofile-arcs -ftest-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_keyval.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_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_str.c
srcs += ecoli_node_subset.c
srcs += ecoli_node_weakref.c
+srcs += ecoli_parse.c
+srcs += ecoli_string.c
+srcs += ecoli_vec.c
shlib-y-$(O)libecoli.so := $(srcs)