1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- Build objects twice for shared and static libraries
- The existing Makefile causes problems on MIPS because the same object
- files (not compiled with -fPIC) are used in static and shared libraries.
- MIPS will refuce to link non-pic objects in shared libraries.
- We fix this problems by creating a new rule for the shared library
- and build the shared objects as *.sho instead of *.o.
- Then, we use these objects to create the shared library.
- Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
- Index: bzip2-1.0.6/Makefile-libbz2_so
- ===================================================================
- --- bzip2-1.0.6.orig/Makefile-libbz2_so
- +++ bzip2-1.0.6/Makefile-libbz2_so
- @@ -25,13 +25,13 @@ SHELL=/bin/sh
- CC=gcc
- override CFLAGS += -fpic -fPIC -Wall
-
- -OBJS= blocksort.o \
- - huffman.o \
- - crctable.o \
- - randtable.o \
- - compress.o \
- - decompress.o \
- - bzlib.o
- +OBJS= blocksort.sho \
- + huffman.sho \
- + crctable.sho \
- + randtable.sho \
- + compress.sho \
- + decompress.sho \
- + bzlib.sho
-
- all: $(OBJS)
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6 $(OBJS)
- @@ -45,17 +45,5 @@ install:
- clean:
- rm -f $(OBJS) bzip2.o libbz2.so.1.0.6 libbz2.so.1.0 bzip2-shared
-
- -blocksort.o: blocksort.c
- - $(CC) $(CFLAGS) -c blocksort.c
- -huffman.o: huffman.c
- - $(CC) $(CFLAGS) -c huffman.c
- -crctable.o: crctable.c
- - $(CC) $(CFLAGS) -c crctable.c
- -randtable.o: randtable.c
- - $(CC) $(CFLAGS) -c randtable.c
- -compress.o: compress.c
- - $(CC) $(CFLAGS) -c compress.c
- -decompress.o: decompress.c
- - $(CC) $(CFLAGS) -c decompress.c
- -bzlib.o: bzlib.c
- - $(CC) $(CFLAGS) -c bzlib.c
- +%.sho: %.c
- + $(CC) $(CFLAGS) -o $@ -c $<
|