1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
Subject: Make use of libtool
Author: Michael van der Kolff <mvanderkolff@gmail.com>
Forwarded: no
diff --git a/libjbig/Makefile b/libjbig/Makefile
index f2898f5..24b6de4 100644
--- a/libjbig/Makefile
+++ b/libjbig/Makefile
@@ -4,31 +4,32 @@
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
-all: libjbig.a libjbig85.a tstcodec tstcodec85
+.PHONY: all clean test
-tstcodec: tstcodec.o jbig.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec tstcodec.o jbig.o jbig_ar.o
+%.lo %.o: %.c
+ libtool --mode=compile $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o
- $(CC) $(CFLAGS) -o tstcodec85 tstcodec85.o jbig85.o jbig_ar.o
+all: libjbig.la
-libjbig.a: jbig.o jbig_ar.o
- rm -f libjbig.a
- ar rc libjbig.a jbig.o jbig_ar.o
- -ranlib libjbig.a
+tstcodec: tstcodec.o libjbig.a
+ $(CC) $(LDFLAGS) $(CFLAGS) -o tstcodec $+
-libjbig85.a: jbig85.o jbig_ar.o
- rm -f libjbig85.a
- ar rc libjbig85.a jbig85.o jbig_ar.o
- -ranlib libjbig85.a
+tstcodec85: tstcodec85.o libjbig.a
+ $(CC) $(LDFLAGS) $(CFLAGS) -o tstcodec85 $+
-jbig.o: jbig.c jbig.h jbig_ar.h
-jbig85.o: jbig85.c jbig85.h jbig_ar.h
-jbig_ar.o: jbig_ar.c jbig_ar.h
-tstcodec.o: tstcodec.c jbig.h
-tstcodec85.o: tstcodec85.c jbig85.h
+libjbig.a: libjbig.la
+ cp .libs/libjbig.a .
+
+libjbig.la: jbig.lo jbig_ar.lo jbig85.lo
+ libtool --mode=link $(CC) $(LDFLAGS) -o libjbig.la $+ -rpath /usr/lib
+
+jbig.lo: jbig.c jbig.h jbig_ar.h
+jbig85.lo: jbig85.c jbig85.h jbig_ar.h
+jbig_ar.lo: jbig_ar.c jbig_ar.h
+tstcodec.o: tstcodec.c libjbig.a jbig.h
+tstcodec85.o: tstcodec85.c libjbig.a jbig85.h
update-po: jbig.c jbig85.c Makefile
xgettext -ojbig.pot -k_ \
@@ -50,6 +51,7 @@ t82test.pbm: tstcodec
./tstcodec $@
clean:
- rm -f *.o *.gcda *.gcno *.gcov *.plist *~ core gmon.out dbg_d\=??.pbm
+ rm -rf .libs
+ rm -f *.gcda *.gcno *.gcov *.a *.la *.o *.lo *~ core gmon.out dbg_d\=??.pbm t82test.pbm
rm -f t82test.pbm
rm -f tstcodec tstcodec85
|