summaryrefslogtreecommitdiff
path: root/archivers/bzip2/files/patch-aa
blob: 3cb244c9242e8ef34d71c3dcb465ffb53db630dd (plain) (blame)
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
70
71
72
73
74
75
76
77
78
79
80
--- Makefile.orig	Tue Jan  2 22:49:21 2007
+++ Makefile	Sat Jan 27 12:02:14 2007
@@ -15,13 +15,15 @@
 SHELL=/bin/sh
 
 # To assist in cross-compiling
-CC=gcc
+CC?=gcc
 AR=ar
 RANLIB=ranlib
 LDFLAGS=
 
 BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
+CFLAGS?=-O2
+CFLAGS+=-Wall -Winline -fomit-frame-pointer -fno-strength-reduce $(BIGFILES)
+SOFLAGS=-fPIC -fpic -DPIC
 
 # Where you want it installed when you do 'make install'
 PREFIX=/usr/local
@@ -35,10 +37,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) $(LDFLAGS) -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) $(LDFLAGS) -o bzip2recover bzip2recover.o
@@ -52,6 +62,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
+
 check: test
 test: bzip2
 	@cat words1
@@ -109,9 +123,25 @@
 	echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
 
 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.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
 	@cat words0