]> mj.ucw.cz Git - libucw.git/commitdiff
Added support for shared libraries (CONFIG_SHARED switch in config.mk).
authorMartin Mares <mj@ucw.cz>
Fri, 11 Oct 2002 11:32:36 +0000 (11:32 +0000)
committerMartin Mares <mj@ucw.cz>
Fri, 11 Oct 2002 11:32:36 +0000 (11:32 +0000)
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.

charset/Makefile
lib/Makefile
lib/shell/Makefile

index 40423122fc2daae7b542c7e4e9acd0e7862361b3..5f6f500a20d33224b58bc047e907f1afb3740296 100644 (file)
@@ -1,11 +1,12 @@
-# Makefile for the Sherlock Charset Library (c) 1997--2001 Martin Mares <mj@ucw.cz>
+# Makefile for the Sherlock Charset Library (c) 1997--2002 Martin Mares <mj@ucw.cz>
 
 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
index 759c2d0d690a85aece38dfe9d59869da0542af39..7e1f5b83bd25dbf3b9168b13ba5c1d875ec90704 100644 (file)
@@ -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
index 14462f435add480ed4eb8fb9b440ad37ec2b67ed..e32192127889787e5fcbe58eeccf4df89cf80117 100644 (file)
@@ -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)