contrib_SOURCES := \
contrib/ccan/asprintf/asprintf.c \
contrib/ccan/ilog/ilog.c \
- contrib/ccan/json/json.c \
contrib/ucw/mempool.c \
contrib/ucw/mempool-fmt.c \
contrib/murmurhash3/murmurhash3.c \
contrib_CFLAGS := -fPIC
contrib_TARGET := $(abspath contrib)/contrib$(AREXT)
+ifneq ($(LIBRARY_ONLY), yes)
+contrib_SOURCES += contrib/ccan/json/json.c
+
# Use built-in LMDB if not found
ifneq ($(HAS_lmdb), yes)
contrib_SOURCES += contrib/lmdb/mdb.c \
contrib_LIBS += -pthread
lmdb_CFLAGS += -I$(abspath contrib/lmdb)
endif
+endif
+
$(eval $(call make_static,contrib,contrib))
libkres_SOURCES := \
- lib/cache/api.c \
- lib/cache/cdb_lmdb.c \
- lib/cache/entry_list.c \
- lib/cache/entry_pkt.c \
- lib/cache/entry_rr.c \
- lib/cache/knot_pkt.c \
- lib/cache/nsec1.c \
- lib/cache/nsec3.c \
- lib/cache/peek.c \
lib/dnssec.c \
lib/dnssec/nsec.c \
lib/dnssec/nsec3.c \
lib/generic/map.c \
lib/generic/queue.c \
lib/generic/trie.c \
- lib/layer/cache.c \
lib/layer/iterate.c \
lib/layer/validate.c \
lib/module.c \
libkres_HEADERS := \
lib/cache/api.h \
- lib/cache/cdb_api.h \
- lib/cache/cdb_lmdb.h \
- lib/cache/impl.h \
lib/defines.h \
lib/dnssec.h \
lib/dnssec/nsec.h \
# Dependencies
libkres_DEPEND := $(contrib)
-libkres_CFLAGS := -fPIC $(lmdb_CFLAGS)
-libkres_LIBS := $(contrib_TARGET) $(libknot_LIBS) $(libdnssec_LIBS) $(lmdb_LIBS) $(gnutls_LIBS)
+libkres_CFLAGS := -fPIC
+libkres_LIBS := $(contrib_TARGET) $(libknot_LIBS) $(libdnssec_LIBS) $(gnutls_LIBS)
libkres_TARGET := -L$(abspath lib) -lkres
+ifneq ($(LIBRARY_ONLY), yes)
+libkres_SOURCES += \
+ lib/layer/cache.c \
+ lib/cache/api.c \
+ lib/cache/cdb_lmdb.c \
+ lib/cache/entry_list.c \
+ lib/cache/entry_pkt.c \
+ lib/cache/entry_rr.c \
+ lib/cache/knot_pkt.c \
+ lib/cache/nsec1.c \
+ lib/cache/nsec3.c \
+ lib/cache/peek.c
+
+libkres_HEADERS += \
+ lib/cache/cdb_api.h \
+ lib/cache/cdb_lmdb.h \
+ lib/cache/impl.h
+
+libkres_CFLAGS += $(lmdb_CFLAGS)
+libkres_LIBS += $(lmdb_LIBS)
+else
+libkres_CFLAGS += -DLIBRARY_ONLY
+endif
+
+
ifeq ($(ENABLE_COOKIES),yes)
libkres_SOURCES += \
lib/cookies/alg_containers.c \
static const struct kr_module embedded_modules[] = {
{ "iterate", NULL, NULL, NULL, iterate_layer, NULL, NULL, NULL },
{ "validate", NULL, NULL, NULL, validate_layer, NULL, NULL, NULL },
+#ifndef LIBRARY_ONLY
{ "cache", NULL, NULL, NULL, cache_layer, NULL, NULL, NULL },
+#endif
};
/** Library extension. */