diff -ruN jbigkit-2.1/libjbig/Makefile jbigkit-2.1-shlib/libjbig/Makefile --- jbigkit-2.1/libjbig/Makefile 2014-03-27 14:47:15.000000000 -0400 +++ jbigkit-2.1-shlib/libjbig/Makefile 2014-04-14 19:54:00.000000000 -0400 @@ -1,28 +1,33 @@ # Unix makefile for the JBIG-KIT library # Select an ANSI/ISO C compiler here, GNU gcc is recommended -CC = gcc +CC ?= gcc # Options for the compiler: A high optimization level is suggested -CFLAGS = -g -O -W -Wall -ansi -pedantic # --coverage +CFLAGS ?= -g -O -W -Wall -ansi -pedantic # --coverage +PICFLAGS := -fPIC -DPIC -all: libjbig.a libjbig85.a tstcodec tstcodec85 +all: libjbig.so.$(SOVERSION) libjbig85.so.$(SOVERSION) tstcodec tstcodec85 -tstcodec: tstcodec.o jbig.o jbig_ar.o - $(CC) $(CFLAGS) -o tstcodec tstcodec.o jbig.o jbig_ar.o +tstcodec: tstcodec.o libjbig.so + $(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig -tstcodec85: tstcodec85.o jbig85.o jbig_ar.o - $(CC) $(CFLAGS) -o tstcodec85 tstcodec85.o jbig85.o jbig_ar.o +tstcodec85: tstcodec85.o libjbig85.so + $(CC) $(CFLAGS) -o tstcodec85 $^ -L. -ljbig -libjbig.a: jbig.o jbig_ar.o - rm -f libjbig.a - ar rc libjbig.a jbig.o jbig_ar.o - -ranlib libjbig.a +%.so: %.so.$(VERSION) + ln -sf $< $@ -libjbig85.a: jbig85.o jbig_ar.o - rm -f libjbig85.a - ar rc libjbig85.a jbig85.o jbig_ar.o - -ranlib libjbig85.a +%.so.$(SOVERSION): %.so.$(VERSION) + ln -sf $< $@ + +libjbig.so.$(VERSION): jbig.o jbig_ar.o + $(CC) $(CFLAGS) -shared -Wl,-soname,libjbig.so.$(SOVERSION) -o $@ $^ + +libjbig85.so.$(VERSION): jbig85.o jbig_ar.o + $(CC) $(CFLAGS) -shared -Wl,-soname,libjbig85.so.$(SOVERSION) -o $@ $^ + +jbig.o jbig85.o jbig_ar.o: CFLAGS += $(PICFLAGS) jbig.o: jbig.c jbig.h jbig_ar.h jbig85.o: jbig85.c jbig85.h jbig_ar.h @@ -43,13 +48,13 @@ clang --analyze *.c test: tstcodec tstcodec85 - ./tstcodec - ./tstcodec85 + LD_LIBRARY_PATH=`pwd` ./tstcodec + LD_LIBRARY_PATH=`pwd` ./tstcodec85 t82test.pbm: tstcodec - ./tstcodec $@ + LD_LIBRARY_PATH=`pwd` ./tstcodec $@ clean: rm -f *.o *.gcda *.gcno *.gcov *.plist *~ core gmon.out dbg_d\=??.pbm rm -f t82test.pbm - rm -f tstcodec tstcodec85 + rm -f tstcodec tstcodec85 libjbig*.so libjbig*.so.$(SOVERSION) libjbig*.so.$(VERSION) diff -ruN jbigkit-2.1/Makefile jbigkit-2.1-shlib/Makefile --- jbigkit-2.1/Makefile 2014-03-27 14:47:15.000000000 -0400 +++ jbigkit-2.1-shlib/Makefile 2014-04-14 20:59:40.000000000 -0400 @@ -1,37 +1,39 @@ # Unix makefile for JBIG-KIT # Select an ANSI/ISO C compiler here, GNU gcc is recommended -CC = gcc +CC ?= gcc # Options for the compiler: A high optimization level is suggested -CFLAGS = -O2 -W -Wno-unused-result +CFLAGS ?= -O2 -W -Wno-unused-result # CFLAGS = -O -g -W -Wall -Wno-unused-result -ansi -pedantic # -DDEBUG export CC CFLAGS VERSION=2.1 +SOVERSION = $(basename $(VERSION)) +export VERSION SOVERSION all: lib pbm @echo "Enter 'make test' in order to start some automatic tests." lib: - cd libjbig && $(MAKE) -e + make -C libjbig pbm: lib - cd pbmtools && $(MAKE) -e + make -C pbmtools test: lib pbm - cd libjbig && $(MAKE) test - cd pbmtools && $(MAKE) test + LD_LIBRARY_PATH=`pwd`/libjbig make -C libjbig test + LD_LIBRARY_PATH=`pwd`/libjbig make -C pbmtools test analyze: - cd libjbig && $(MAKE) analyze - cd pbmtools && $(MAKE) analyze + make -C libjbig analyze + make -C pbmtools analyze clean: rm -f *~ core - cd libjbig && $(MAKE) clean - cd pbmtools && $(MAKE) clean + make -C libjbig clean + make -C pbmtools clean distribution: rm -rf jbigkit-$(VERSION) diff -ruN jbigkit-2.1/pbmtools/Makefile jbigkit-2.1-shlib/pbmtools/Makefile --- jbigkit-2.1/pbmtools/Makefile 2014-03-27 14:47:15.000000000 -0400 +++ jbigkit-2.1-shlib/pbmtools/Makefile 2014-04-14 21:04:14.000000000 -0400 @@ -1,29 +1,29 @@ # Unix makefile for the JBIG-KIT PBM tools # Select an ANSI/ISO C compiler here, e.g. GNU gcc is recommended -CC = gcc +CC ?= gcc # Options for the compiler -CFLAGS = -g -O -W -Wall -Wno-unused-result -ansi -pedantic # --coverage +CFLAGS ?= -g -O -W -Wall -Wno-unused-result -ansi -pedantic # --coverage CPPFLAGS = -I../libjbig .SUFFIXES: .1 .5 .txt $(SUFFIXES) .PHONY: txt test test82 test85 clean -all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 txt +all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 # txt txt: pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt -pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a +pbmtojbg: pbmtojbg.o ../libjbig/libjbig.so $(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig -jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a +jbgtopbm: jbgtopbm.o ../libjbig/libjbig.so $(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig -pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a +pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.so $(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85 -jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a +jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.so $(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85 jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h @@ -31,13 +31,13 @@ jbgtopbm85.o: jbgtopbm85.c ../libjbig/jbig85.h pbmtojbg85.o: pbmtojbg85.c ../libjbig/jbig85.h -../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \ +../libjbig/libjbig.so: ../libjbig/jbig.c ../libjbig/jbig.h \ ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h - make -C ../libjbig libjbig.a + make -C ../libjbig libjbig.so -../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \ +../libjbig/libjbig85.so: ../libjbig/jbig85.c ../libjbig/jbig85.h \ ../libjbig/jbig_ar.c ../libjbig/jbig_ar.h - make -C ../libjbig libjbig85.a + make -C ../libjbig libjbig85.so analyze: clang $(CPPFLAGS) --analyze *.c