--- Makefile.orig Wed May 17 00:31:04 2000 +++ Makefile Thu Jun 8 17:41:26 2000 @@ -1,8 +1,10 @@ SHELL=/bin/sh -CC=gcc +CC?=gcc BIGFILES=-D_FILE_OFFSET_BITS=64 -CFLAGS=-Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce $(BIGFILES) +CFLAGS?=-O2 +CFLAGS+=-Wall -Winline -fomit-frame-pointer -fno-strength-reduce $(BIGFILES) +SOFLAGS=-fPIC -fpic -DPIC OBJS= blocksort.o \ huffman.o \ @@ -12,10 +14,18 @@ decompress.o \ bzlib.o -all: libbz2.a bzip2 bzip2recover test +SO_OBJS= blocksort.so \ + huffman.so \ + crctable.so \ + randtable.so \ + compress.so \ + decompress.so \ + bzlib.so -bzip2: libbz2.a bzip2.o - $(CC) $(CFLAGS) -o bzip2 bzip2.o -L. -lbz2 +all: libbz2.so.1 libbz2.a bzip2 bzip2recover test + +bzip2: libbz2.so.1 libbz2.a bzip2.o + $(CC) $(CFLAGS) -o bzip2 bzip2.o libbz2.a bzip2recover: bzip2recover.o $(CC) $(CFLAGS) -o bzip2recover bzip2recover.o @@ -29,6 +39,10 @@ ranlib libbz2.a ; \ fi +libbz2.so.1: $(SO_OBJS) + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1 $(SO_OBJS) + ln -sf libbz2.so.1 libbz2.so + test: bzip2 @cat words1 ./bzip2 -1 < sample1.ref > sample1.rb2 @@ -69,12 +83,27 @@ chmod a+r $(PREFIX)/lib/libbz2.a clean: - rm -f *.o libbz2.a bzip2 bzip2recover \ + rm -f *.o *.so libbz2.a libbz2.so.1 bzip2 bzip2recover \ sample1.rb2 sample2.rb2 sample3.rb2 \ sample1.tst sample2.tst sample3.tst -blocksort.o: blocksort.c +blocksort.so: blocksort.c @cat words0 + $(CC) $(CFLAGS) $(SOFLAGS) -c blocksort.c -o blocksort.so +huffman.so: huffman.c + $(CC) $(CFLAGS) $(SOFLAGS) -c huffman.c -o huffman.so +crctable.so: crctable.c + $(CC) $(CFLAGS) $(SOFLAGS) -c crctable.c -o crctable.so +randtable.so: randtable.c + $(CC) $(CFLAGS) $(SOFLAGS) -c randtable.c -o randtable.so +compress.so: compress.c + $(CC) $(CFLAGS) $(SOFLAGS) -c compress.c -o compress.so +decompress.so: decompress.c + $(CC) $(CFLAGS) $(SOFLAGS) -c decompress.c -o decompress.so +bzlib.so: bzlib.c + $(CC) $(CFLAGS) $(SOFLAGS) -c bzlib.c -o bzlib.so + +blocksort.o: blocksort.c $(CC) $(CFLAGS) -c blocksort.c huffman.o: huffman.c $(CC) $(CFLAGS) -c huffman.c