-# Makefile for the UCW Library (c) 1997--2006 Martin Mares <mj@ucw.cz>
+# Makefile for the UCW Library (c) 1997--2007 Martin Mares <mj@ucw.cz>
DIRS+=lib
+LIBUCW=$(o)/lib/libucw.$(LS)
ifdef CONFIG_UCW_DBTOOL
PROGS+=$(o)/lib/db-tool
endif
LIBUCW_MODS= \
+ threads \
alloc alloc_str realloc bigalloc mempool mempool-str mempool-fmt \
mmap pagecache partmap hashfunc \
lists slists simple-lists sorter bitsig \
sync \
qache \
string \
- bbuf \
- workqueue asio
+ bbuf
LIBUCW_INCLUDES= \
- lib.h config.h math.h \
+ lib.h config.h threads.h math.h \
mempool.h pagecache.h \
sorter.h arraysort.h \
lists.h clists.h \
lizard.h \
md5.h \
base64.h base224.h \
- qache.h \
- workqueue.h asio.h
+ qache.h
+
+ifdef CONFIG_UCW_THREADS
+# Some modules require threading
+LIBS+=-lpthread
+LIBUCW_MODS+=threads-conf workqueue asio fb-direct
+LIBUCW_INCLUDES+=workqueue.h asio.h
+endif
ifdef CONFIG_OWN_REGEX
include $(s)/lib/regex/Makefile
endif
-LIBUCW=$(o)/lib/libucw.$(LS)
+include $(s)/lib/sorter/Makefile
+
LIBUCW_MOD_PATHS=$(addprefix $(o)/lib/,$(LIBUCW_MODS))
$(o)/lib/libucw.a: $(addsuffix .o,$(LIBUCW_MOD_PATHS))
$(o)/lib/kmp-test: $(o)/lib/kmp-test.o $(LIBUCW) $(LIBCHARSET)
$(o)/lib/ipaccess-test: $(o)/lib/ipaccess-test.o $(LIBUCW)
-$(o)/lib/workqueue-t: LIBS+=-lpthread # FIXME
-$(o)/lib/asio-t: LIBS+=-lpthread # FIXME
-
-TESTS+=$(addprefix $(o)/lib/,regex.test unicode-utf8.test hash-test.test mempool.test stkstring.test slists.test kmp-test.test bbuf.test asio.test)
+TESTS+=$(addprefix $(o)/lib/,regex.test unicode-utf8.test hash-test.test mempool.test stkstring.test slists.test kmp-test.test bbuf.test)
$(o)/lib/regex.test: $(o)/lib/regex-t
$(o)/lib/unicode-utf8.test: $(o)/lib/unicode-utf8-t
$(o)/lib/hash-test.test: $(o)/lib/hash-test
$(o)/lib/slists.test: $(o)/lib/slists-t
$(o)/lib/kmp-test.test: $(o)/lib/kmp-test
$(o)/lib/bbuf.test: $(o)/lib/bbuf-t
+
+ifdef CONFIG_UCW_THREADS
+TESTS+=$(addprefix $(o)/lib/,asio.test)
$(o)/lib/asio.test: $(o)/lib/asio-t
+endif
INCLUDES+=$(o)/lib/.include-stamp
$(o)/lib/.include-stamp: $(addprefix $(s)/lib/,$(LIBUCW_INCLUDES))