# Makefile for the Sherlock Library (c) 2004 Martin Mares <mj@ucw.cz>

DIRS+=sherlock
PROGS+=$(o)/sherlock/buckettool

LIBSH_MODS= \
	object bucket buck2obj obj2buck obj-linear obj-format \
	lizard-fb \
	attrset conf-parse \
	query

ifdef CONFIG_SHERLOCK
LIBSH_MODS+=urlkey finger
endif

LIBSH_INCLUDES=sherlock.h attrset.h bucket.h conf.h lizard-fb.h object.h objread.h tagged-text.h query.h

LIBSH_MOD_PATHS=$(addprefix $(o)/sherlock/,$(LIBSH_MODS))

$(o)/sherlock/libsh.a: $(addsuffix .o,$(LIBSH_MOD_PATHS))
$(o)/sherlock/libsh.so: $(addsuffix .oo,$(LIBSH_MOD_PATHS))

$(o)/sherlock/libcustom.a: $(addsuffix .o,$(CUSTOM_LIB_MODULES))
$(o)/sherlock/libcustom.so: $(addsuffix .oo,$(CUSTOM_LIB_MODULES))

$(o)/sherlock/buckettool: $(o)/sherlock/buckettool.o $(LIBSH)

INCLUDES+=$(o)/sherlock/.include-stamp
$(o)/sherlock/.include-stamp: $(addprefix $(s)/sherlock/,$(LIBSH_INCLUDES))
	$(s)/build/install-includes $(s)/sherlock run/include/sherlock $(?F)
	touch $(o)/sherlock/.include-stamp

include $(s)/sherlock/perl/Makefile

# Tweak config of libucw according to Sherlock config

ifneq ($(CONFIG_WATSON)$(CONFIG_ADMIN),)
CONFIG_UCW_PERL_MODULES=1
endif

ifdef CONFIG_GATHERD
CONFIG_UCW_DBTOOL=1
endif
