|
@@ -14,17 +14,19 @@ PREFIX = /usr/local
|
|
bindir = $(PREFIX)/bin
|
|
bindir = $(PREFIX)/bin
|
|
libdir = $(PREFIX)/lib
|
|
libdir = $(PREFIX)/lib
|
|
includedir = $(PREFIX)/include/lsup_rdf
|
|
includedir = $(PREFIX)/include/lsup_rdf
|
|
|
|
+MDB_DIR = ext/openldap/libraries/liblmdb
|
|
|
|
+XXHASH_DIR = ext/xxHash
|
|
CALLGRIND_DUMP = /tmp/lsup_callgrind.%p.out
|
|
CALLGRIND_DUMP = /tmp/lsup_callgrind.%p.out
|
|
|
|
|
|
-INCLUDE_BASE = . -Iinclude -Iext/xxHash -Iext/openldap/libraries/liblmdb \
|
|
|
|
|
|
+INCLUDE_BASE = . -Iinclude -I$(MDB_DIR) -I$(XXHASH_DIR) \
|
|
-Iext/tpl/src -Iext/uthash/src -Iext/log/src
|
|
-Iext/tpl/src -Iext/uthash/src -Iext/log/src
|
|
INCLUDE = -I$(INCLUDE_BASE)
|
|
INCLUDE = -I$(INCLUDE_BASE)
|
|
CFLAGS += -Wall -fPIC -MMD -DLOG_USE_COLOR $(INCLUDE)
|
|
CFLAGS += -Wall -fPIC -MMD -DLOG_USE_COLOR $(INCLUDE)
|
|
TEST_CFLAGS = -Itest -O0 -g3 -DDEBUG
|
|
TEST_CFLAGS = -Itest -O0 -g3 -DDEBUG
|
|
# NOTE: -luuid is a Linux system library. Other OS's might need a different
|
|
# NOTE: -luuid is a Linux system library. Other OS's might need a different
|
|
# link or a non-system library built.
|
|
# link or a non-system library built.
|
|
-LDFLAGS = -Lext/openldap/libraries/liblmdb -Lext/xxHash \
|
|
|
|
- -llmdb -lxxhash -luuid
|
|
|
|
|
|
+LDFLAGS = -L$(MDB_DIR) -L$(XXHASH_DIR) \
|
|
|
|
+ -llmdb -lxxhash
|
|
|
|
|
|
CODEC_DIR = src/codec
|
|
CODEC_DIR = src/codec
|
|
#CODEC_SRC = $(wildcard src/codec/*_parser.c)
|
|
#CODEC_SRC = $(wildcard src/codec/*_parser.c)
|
|
@@ -42,11 +44,10 @@ EXT_H = $(wildcard ext/log/src/*.h) \
|
|
$(wildcard ext/uthash/src/*.h)
|
|
$(wildcard ext/uthash/src/*.h)
|
|
|
|
|
|
SRC = $(EXT_SRC) $(wildcard src/*.c)
|
|
SRC = $(EXT_SRC) $(wildcard src/*.c)
|
|
-#CODEC_OBJ = $(wildcard src/codec/*.o)
|
|
|
|
-OBJ = $(SRC:.c=.o) $(CODEC_OBJ)
|
|
|
|
-
|
|
|
|
TEST_SRC = $(wildcard test/*.c) test.c
|
|
TEST_SRC = $(wildcard test/*.c) test.c
|
|
-#TEST_OBJ = $(TEST_SRC:.c=.o)
|
|
|
|
|
|
+
|
|
|
|
+EXT_OBJ = $(MDB_DIR)/{mdb,midl}.o $(XXHASH_DIR)/xxhash.o
|
|
|
|
+OBJ = $(SRC:.c=.o) $(CODEC_OBJ)
|
|
|
|
|
|
DEPLIBS = libxxhash liblmdb
|
|
DEPLIBS = libxxhash liblmdb
|
|
LIBS = liblsuprdf.a liblsuprdf.so
|
|
LIBS = liblsuprdf.a liblsuprdf.so
|
|
@@ -61,7 +62,7 @@ DOCS = docs
|
|
all: $(DEPLIBS) $(LIBS)
|
|
all: $(DEPLIBS) $(LIBS)
|
|
|
|
|
|
liblsuprdf.a: $(OBJ)
|
|
liblsuprdf.a: $(OBJ)
|
|
- $(AR) rs $@ $^
|
|
|
|
|
|
+ $(AR) rs $@ $(EXT_OBJ) $^
|
|
|
|
|
|
liblsuprdf.so: $(OBJ)
|
|
liblsuprdf.so: $(OBJ)
|
|
$(CC) -shared $(LDFLAGS) -o $@ $^
|
|
$(CC) -shared $(LDFLAGS) -o $@ $^
|
|
@@ -74,20 +75,15 @@ $(CODEC_OBJ): $(CODEC_SRC)
|
|
%_grammar.c: %_grammar.y
|
|
%_grammar.c: %_grammar.y
|
|
$(PARSER) $< -q -m -T$(CODEC_DIR)/lempar.c -d$(CODEC_DIR)
|
|
$(PARSER) $< -q -m -T$(CODEC_DIR)/lempar.c -d$(CODEC_DIR)
|
|
|
|
|
|
-
|
|
|
|
-# Build all external dependencies in core object.
|
|
|
|
-core.o: core.c $(EXT_SRC) $(EXT_H)
|
|
|
|
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
|
|
|
|
-
|
|
|
|
-# Ext libraries compiled as shared objects.
|
|
|
|
|
|
+# Ext libraries.
|
|
|
|
|
|
.PHONY: libxxhash
|
|
.PHONY: libxxhash
|
|
libxxhash:
|
|
libxxhash:
|
|
- $(MAKE) -C ext/xxHash
|
|
|
|
|
|
+ $(MAKE) -C $(XXHASH_DIR)
|
|
|
|
|
|
.PHONY: liblmdb
|
|
.PHONY: liblmdb
|
|
liblmdb:
|
|
liblmdb:
|
|
- $(MAKE) -C ext/openldap/libraries/liblmdb
|
|
|
|
|
|
+ $(MAKE) -C $(MDB_DIR)
|
|
|
|
|
|
install: all
|
|
install: all
|
|
mkdir -p $(DESTDIR)$(libdir)
|
|
mkdir -p $(DESTDIR)$(libdir)
|
|
@@ -99,6 +95,11 @@ install: all
|
|
clean:
|
|
clean:
|
|
rm -rf src/*.[aod] ./*[aod] src/codec/*[aod]
|
|
rm -rf src/*.[aod] ./*[aod] src/codec/*[aod]
|
|
|
|
|
|
|
|
+.PHONY: deepclean
|
|
|
|
+deepclean: clean
|
|
|
|
+ cd $(MDB_DIR); make clean
|
|
|
|
+ cd $(XXHASH_DIR); make clean
|
|
|
|
+
|
|
.PHONY: uninstall
|
|
.PHONY: uninstall
|
|
uninstall:
|
|
uninstall:
|
|
rm -f $(DESTDIR)$(libdir)/liblsuprdf.*
|
|
rm -f $(DESTDIR)$(libdir)/liblsuprdf.*
|