| Improve bzip2 build system |
| |
| This patch makes a number of improvements to the bzip2 build system: |
| |
| * Remove the BIGFILE variable that was used to force largefile |
| support. Now, the user of the Makefile is supposed to pass |
| -D_FILE_OFFSET_BITS=64 when largefile support is desired. |
| |
| * Use override CFLAGS += so that additional CFLAGS can be passed on |
| the command line. |
| |
| * Removed "forced" CFLAGS -O2, -g and -Winline. We don't want them by |
| default, and want the build system to use its own ones. |
| |
| * When creating the symbolic links bzegrep, bzfgrep, bzless and |
| bzcmp, don't link them to an absolute path, or they'll point to |
| some path on the build machine. |
| |
| * Provide an install target for the shared library, which creates the |
| appropriate symbolic links. |
| |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| |
| Index: b/Makefile |
| =================================================================== |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -20,8 +20,7 @@ |
| RANLIB=ranlib |
| LDFLAGS= |
| |
| -BIGFILES=-D_FILE_OFFSET_BITS=64 |
| -CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) |
| +override CFLAGS += -Wall |
| |
| # Where you want it installed when you do 'make install' |
| PREFIX=/usr/local |
| @@ -90,14 +89,14 @@ |
| cp -f libbz2.a $(PREFIX)/lib |
| chmod a+r $(PREFIX)/lib/libbz2.a |
| cp -f bzgrep $(PREFIX)/bin/bzgrep |
| - ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep |
| - ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep |
| + ln -s -f bzgrep $(PREFIX)/bin/bzegrep |
| + ln -s -f bzgrep $(PREFIX)/bin/bzfgrep |
| chmod a+x $(PREFIX)/bin/bzgrep |
| cp -f bzmore $(PREFIX)/bin/bzmore |
| - ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless |
| + ln -s -f bzmore $(PREFIX)/bin/bzless |
| chmod a+x $(PREFIX)/bin/bzmore |
| cp -f bzdiff $(PREFIX)/bin/bzdiff |
| - ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp |
| + ln -s -f bzdiff $(PREFIX)/bin/bzcmp |
| chmod a+x $(PREFIX)/bin/bzdiff |
| cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 |
| chmod a+r $(PREFIX)/man/man1/bzgrep.1 |
| Index: b/Makefile-libbz2_so |
| =================================================================== |
| --- a/Makefile-libbz2_so |
| +++ b/Makefile-libbz2_so |
| @@ -23,8 +23,7 @@ |
| |
| SHELL=/bin/sh |
| CC=gcc |
| -BIGFILES=-D_FILE_OFFSET_BITS=64 |
| -CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES) |
| +override CFLAGS += -fpic -fPIC -Wall |
| |
| OBJS= blocksort.o \ |
| huffman.o \ |
| @@ -37,8 +36,11 @@ |
| all: $(OBJS) |
| $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS) |
| $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8 |
| - rm -f libbz2.so.1.0 |
| - ln -s libbz2.so.1.0.8 libbz2.so.1.0 |
| + |
| +install: |
| + install -m 0755 -D libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so.1.0.8 |
| + ln -sf libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so |
| + ln -sf libbz2.so.1.0.8 $(PREFIX)/lib/libbz2.so.1.0 |
| |
| clean: |
| rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared |