From: Martin Mares Date: Fri, 11 Oct 2002 11:32:36 +0000 (+0000) Subject: Added support for shared libraries (CONFIG_SHARED switch in config.mk). X-Git-Tag: holmes-import~1320 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=87068a647539633ea26096e6e363c508f006ca5a;p=libucw.git Added support for shared libraries (CONFIG_SHARED switch in config.mk). The makefiles are now able to build both static and shared libraries, objects for shared libraries get suffix '.oo'. Use $(LS) in all references to libraries, it expands to `.so' if CONFIG_SHARED, to `.a' otherwise. Turned on by default. --- diff --git a/charset/Makefile b/charset/Makefile index 40423122..5f6f500a 100644 --- a/charset/Makefile +++ b/charset/Makefile @@ -1,11 +1,12 @@ -# Makefile for the Sherlock Charset Library (c) 1997--2001 Martin Mares +# Makefile for the Sherlock Charset Library (c) 1997--2002 Martin Mares DIRS+=charset -UNI_OBJS=toupper.o tolower.o tocat.o utf8.o unaccent.o strlen.o debug.o \ - charconv.o setnames.o unistream.o +LIBCHARSET_MODS=toupper tolower tocat utf8 unaccent strlen debug \ + charconv setnames unistream -obj/charset/libcharset.a: $(addprefix obj/charset/,$(UNI_OBJS)) +obj/charset/libcharset.a: $(addsuffix .o,$(addprefix obj/charset/,$(LIBCHARSET_MODS))) +obj/charset/libcharset.so: $(addsuffix .oo,$(addprefix obj/charset/,$(LIBCHARSET_MODS))) build_charsets: cd charset && sh misc/generate diff --git a/lib/Makefile b/lib/Makefile index 759c2d0d..7e1f5b83 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -3,26 +3,28 @@ DIRS+=lib PROGS+=obj/lib/db-tool obj/lib/buckettool -SHLIB_OBJS=alloc.o alloc_str.o ctmatch.o db.o fastbuf.o fb-file.o fb-mem.o lists.o \ - log.o log2.o md5.o md5hex.o mmap.o pagecache.o patimatch.o patmatch.o pool.o \ - prime.o random.o realloc.o regex.o timer.o url.o wildmatch.o \ - wordsplit.o str_ctype.o str_upper.o bucket.o conf.o object.o sorter.o \ - finger.o proctitle.o ipaccess.o profile.o bitsig.o randomkey.o \ - hashfunc.o base64.o base224.o fb-temp.o printf.o fb-mmap.o +LIBSH_MODS=alloc alloc_str ctmatch db fastbuf fb-file fb-mem lists \ + log log2 md5 md5hex mmap pagecache patimatch patmatch pool \ + prime random realloc regex timer url wildmatch \ + wordsplit str_ctype str_upper bucket conf object sorter \ + finger proctitle ipaccess profile bitsig randomkey \ + hashfunc base64 base224 fb-temp printf fb-mmap +LIBSH_MOD_PATHS=$(addprefix obj/lib/,$(LIBSH_MODS)) $(CUSTOM_MODULES) -obj/lib/libsh.a: $(addprefix obj/lib/,$(SHLIB_OBJS)) $(CUSTOM_MODULES) +obj/lib/libsh.a: $(addsuffix .o,$(LIBSH_MOD_PATHS)) +obj/lib/libsh.so: $(addsuffix .oo,$(LIBSH_MOD_PATHS)) -obj/lib/hashfunc.o: CFLAGS += -funroll-loops +obj/lib/hashfunc.o obj/lib/hashfunc.oo: CFLAGS += -funroll-loops -obj/lib/db-test: obj/lib/db-test.o obj/lib/libsh.a -obj/lib/db-tool: obj/lib/db-tool.o obj/lib/libsh.a -obj/lib/buckettool: obj/lib/buckettool.o obj/lib/libsh.a -obj/lib/conf-test: obj/lib/conf-test.o obj/lib/libsh.a -obj/lib/sort-test: obj/lib/sort-test.o obj/lib/libsh.a -obj/lib/lfs-test: obj/lib/lfs-test.o obj/lib/libsh.a -obj/lib/regex-test: obj/lib/regex-test.o obj/lib/libsh.a -obj/lib/hash-test: obj/lib/hash-test.o obj/lib/libsh.a -obj/lib/str-test: obj/lib/str-test.o obj/lib/libsh.a +obj/lib/db-test: obj/lib/db-test.o obj/lib/libsh.$(LS) +obj/lib/db-tool: obj/lib/db-tool.o obj/lib/libsh.$(LS) +obj/lib/buckettool: obj/lib/buckettool.o obj/lib/libsh.$(LS) +obj/lib/conf-test: obj/lib/conf-test.o obj/lib/libsh.$(LS) +obj/lib/sort-test: obj/lib/sort-test.o obj/lib/libsh.$(LS) +obj/lib/lfs-test: obj/lib/lfs-test.o obj/lib/libsh.$(LS) +obj/lib/regex-test: obj/lib/regex-test.o obj/lib/libsh.$(LS) +obj/lib/hash-test: obj/lib/hash-test.o obj/lib/libsh.$(LS) +obj/lib/str-test: obj/lib/str-test.o obj/lib/libsh.$(LS) include lib/perl/Makefile include lib/shell/Makefile diff --git a/lib/shell/Makefile b/lib/shell/Makefile index 14462f43..e3219212 100644 --- a/lib/shell/Makefile +++ b/lib/shell/Makefile @@ -3,5 +3,5 @@ DIRS+=lib/shell PROGS+=obj/lib/shell/config obj/lib/shell/logger -obj/lib/shell/config: obj/lib/shell/config.o obj/lib/libsh.a -obj/lib/shell/logger: obj/lib/shell/logger.o obj/lib/libsh.a +obj/lib/shell/config: obj/lib/shell/config.o obj/lib/libsh.$(LS) +obj/lib/shell/logger: obj/lib/shell/logger.o obj/lib/libsh.$(LS)