Description: Build libstemmer as a shared library. Author: Stefano Rivera Forwarded: http://news.gmane.org/find-root.php?message_id=%3c20110821220427.GC1738%40bach.rivera.co.za%3e Last-Update: 2019-10-17 --- a/GNUmakefile +++ b/GNUmakefile @@ -154,12 +154,13 @@ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURC override CFLAGS += -W -Wall -Wmissing-prototypes -Wmissing-declarations override CPPFLAGS += -Iinclude -all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) +all: snowball libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS) clean: rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \ $(LIBSTEMMER_OBJECTS) $(LIBSTEMMER_UTF8_OBJECTS) $(STEMWORDS_OBJECTS) snowball \ - libstemmer.o stemwords \ + $(wildcard libstemmer.so*) libstemmer.a \ + stemwords \ libstemmer/modules.h \ libstemmer/modules_utf8.h \ $(C_LIB_SOURCES) $(C_LIB_HEADERS) $(C_LIB_OBJECTS) \ @@ -173,7 +174,7 @@ clean: libstemmer/mkinc.mak libstemmer/mkinc_utf8.mak \ libstemmer/libstemmer.c libstemmer/libstemmer_utf8.c \ algorithms.mk - rm -rf dist + rm -rf dist .shared -rmdir $(c_src_dir) -rmdir $(python_output_dir) -rmdir $(js_output_dir) @@ -197,11 +198,17 @@ libstemmer/modules_utf8.h libstemmer/mki libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS) -libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) - $(AR) -cru $@ $^ +libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS) + $(CC) $(CFLAGS) -shared $(LDFLAGS) \ + -Wl,-soname,libstemmer.so.0 \ + -o $@.0.0.0 ${^:%=.shared/%} + ln -s $@.0.0.0 $@.0 + ln -s $@.0.0.0 $@ + $(AR) -crs ${@:.so=.a} $^ -stemwords: $(STEMWORDS_OBJECTS) libstemmer.o +stemwords: $(STEMWORDS_OBJECTS) libstemmer.so $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + $(CC) $(CFLAGS) $(LDFLAGS) -g -o $@ $(STEMWORDS_OBJECTS) -L. -lstemmer csharp_stemwords: $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES) $(MCS) -unsafe -target:exe -out:$@ $(CSHARP_STEMWORDS_SOURCES) $(CSHARP_RUNTIME_SOURCES) $(CSHARP_SOURCES) @@ -241,7 +248,6 @@ $(c_src_dir)/stem_ISO_8859_2_%.c $(c_src ./snowball charsets/ISO-8859-2.sbl $< -o $${o} -eprefix $${l}_ISO_8859_2_ -r ../runtime $(c_src_dir)/stem_%.o: $(c_src_dir)/stem_%.c $(c_src_dir)/stem_%.h - $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< $(java_src_dir)/%Stemmer.java: algorithms/%.sbl snowball @mkdir -p $(java_src_dir) @@ -473,13 +479,14 @@ check_koi8r: $(KOI8_R_algorithms:%=check # a sibling to this one. STEMMING_DATA ?= ../snowball-data STEMMING_DATA_ABS := $(abspath $(STEMMING_DATA)) +STEMWORDS=LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ./stemwords check_utf8_%: $(STEMMING_DATA)/% stemwords @echo "Checking output of `echo $<|sed 's!.*/!!'` stemmer with UTF-8" @if test -f '$