From: Marc Kleine-Budde Date: Sat, 29 Oct 2011 18:59:40 +0200 Subject: [PATCH] fixup Makefile This patch fixes various problems in the makefile and disables compile time test. It was taken from Debinan. Signed-off-by: Robert Schwebel --- # 20091210 rsc: needs probably another look before going mainline Makefile | 134 ++++++++++++++++++++++++++++++++------------------------------ 1 files changed, 69 insertions(+), 65 deletions(-) diff --git a/Makefile b/Makefile index 9754ddf286b1..8e6a46b63904 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,8 @@ # in the file LICENSE. # ------------------------------------------------------------------ +somajor=1.0 +sominor=$(somajor).4 SHELL=/bin/sh # To assist in cross-compiling @@ -21,7 +23,7 @@ RANLIB=ranlib LDFLAGS= BIGFILES=-D_FILE_OFFSET_BITS=64 -CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) +CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) $(DEBCFLAGS) # Where you want it installed when you do 'make install' PREFIX=/usr/local @@ -35,9 +37,9 @@ OBJS= blocksort.o \ decompress.o \ bzlib.o -all: libbz2.a bzip2 bzip2recover test +all: libbz2.a bzip2 bzip2recover # test -bzip2: libbz2.a bzip2.o +bzip2: libbz2.so bzip2.o $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2 bzip2recover: bzip2recover.o @@ -46,20 +48,42 @@ bzip2recover: bzip2recover.o libbz2.a: $(OBJS) rm -f libbz2.a $(AR) cq libbz2.a $(OBJS) - @if ( test -f $(RANLIB) -o -f /usr/bin/ranlib -o \ - -f /bin/ranlib -o -f /usr/ccs/bin/ranlib ) ; then \ + @if ( test -f $(RANLIB) || test -f /usr/bin/ranlib || \ + test -f /bin/ranlib || test -f /usr/ccs/bin/ranlib ) ; then \ echo $(RANLIB) libbz2.a ; \ $(RANLIB) libbz2.a ; \ fi +libbz2.so: libbz2.so.$(somajor) + ln -sf $^ $@ + +libbz2.so.$(somajor): libbz2.so.$(sominor) + ln -sf $^ $@ + +libbz2.so.$(sominor): $(OBJS:%.o=%.sho) + $(CC) -o libbz2.so.$(sominor) -shared \ + -Wl,-soname,libbz2.so.$(somajor) $^ -lc + +%.sho: %.c + $(CC) $(CFLAGS) -D_REENTRANT -fPIC -o $@ -c $< + +%.o: %.c + $(CC) $(CFLAGS) -D_REENTRANT -o $@ -c $< + check: test test: bzip2 @cat words1 + LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ ./bzip2 -1 < sample1.ref > sample1.rb2 + LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ ./bzip2 -2 < sample2.ref > sample2.rb2 + LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ ./bzip2 -3 < sample3.ref > sample3.rb2 + LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ ./bzip2 -d < sample1.bz2 > sample1.tst + LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ ./bzip2 -d < sample2.bz2 > sample2.tst + LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH \ ./bzip2 -ds < sample3.bz2 > sample3.tst cmp sample1.bz2 sample1.rb2 cmp sample2.bz2 sample2.rb2 @@ -69,73 +93,53 @@ test: bzip2 cmp sample3.tst sample3.ref @cat words3 -install: bzip2 bzip2recover - if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi - if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi - if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi - if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi - if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi - cp -f bzip2 $(PREFIX)/bin/bzip2 - cp -f bzip2 $(PREFIX)/bin/bunzip2 - cp -f bzip2 $(PREFIX)/bin/bzcat - cp -f bzip2recover $(PREFIX)/bin/bzip2recover - chmod a+x $(PREFIX)/bin/bzip2 - chmod a+x $(PREFIX)/bin/bunzip2 - chmod a+x $(PREFIX)/bin/bzcat - chmod a+x $(PREFIX)/bin/bzip2recover - cp -f bzip2.1 $(PREFIX)/man/man1 - chmod a+r $(PREFIX)/man/man1/bzip2.1 - cp -f bzlib.h $(PREFIX)/include - chmod a+r $(PREFIX)/include/bzlib.h - 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 - chmod a+x $(PREFIX)/bin/bzgrep - cp -f bzmore $(PREFIX)/bin/bzmore - ln -s -f $(PREFIX)/bin/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 - 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 - chmod a+r $(PREFIX)/man/man1/bzmore.1 - chmod a+r $(PREFIX)/man/man1/bzdiff.1 - echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1 - echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1 - echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1 - echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1 +install: bzip2 bzip2recover libbz2.a + if ( test ! -d $(DESTDIR)$(PREFIX)/bin ) ; then mkdir -p $(DESTDIR)$(PREFIX)/bin ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/lib ) ; then mkdir -p $(DESTDIR)$(PREFIX)/lib ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/man ) ; then mkdir -p $(DESTDIR)$(PREFIX)/man ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/man/man1 ) ; then mkdir -p $(DESTDIR)$(PREFIX)/man/man1 ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/include ) ; then mkdir -p $(DESTDIR)$(PREFIX)/include ; fi + cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bzip2 + ln $(DESTDIR)$(PREFIX)/bin/bzip2 $(DESTDIR)$(PREFIX)/bin/bunzip2 + ln $(DESTDIR)$(PREFIX)/bin/bzip2 $(DESTDIR)$(PREFIX)/bin/bzcat + cp -f bzip2recover $(DESTDIR)$(PREFIX)/bin/bzip2recover + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzip2 + chmod a+x $(DESTDIR)$(PREFIX)/bin/bunzip2 + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzcat + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzip2recover + cp -f bzip2.1 $(DESTDIR)$(PREFIX)/man/man1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzip2.1 + cp -f bzlib.h $(DESTDIR)$(PREFIX)/include + chmod a+r $(DESTDIR)$(PREFIX)/include/bzlib.h + cp -fa libbz2.a libbz2.so* $(DESTDIR)$(PREFIX)/lib + chmod a+r $(DESTDIR)$(PREFIX)/lib/libbz2.a + cp -f bzgrep $(DESTDIR)$(PREFIX)/bin/bzgrep + ln -s -f $(DESTDIR)$(PREFIX)/bin/bzgrep $(DESTDIR)$(PREFIX)/bin/bzegrep + ln -s -f $(DESTDIR)$(PREFIX)/bin/bzgrep $(DESTDIR)$(PREFIX)/bin/bzfgrep + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzgrep + cp -f bzmore $(DESTDIR)$(PREFIX)/bin/bzmore + ln -s -f $(DESTDIR)$(PREFIX)/bin/bzmore $(DESTDIR)$(PREFIX)/bin/bzless + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzmore + cp -f bzdiff $(DESTDIR)$(PREFIX)/bin/bzdiff + ln -s -f $(DESTDIR)$(PREFIX)/bin/bzdiff $(DESTDIR)$(PREFIX)/bin/bzcmp + chmod a+x $(DESTDIR)$(PREFIX)/bin/bzdiff + cp -f bzgrep.1 bzmore.1 bzdiff.1 $(DESTDIR)$(PREFIX)/man/man1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzgrep.1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzmore.1 + chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzdiff.1 + echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/man/man1/bzegrep.1 + echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/man/man1/bzfgrep.1 + echo ".so man1/bzmore.1" > $(DESTDIR)$(PREFIX)/man/man1/bzless.1 + echo ".so man1/bzdiff.1" > $(DESTDIR)$(PREFIX)/man/man1/bzcmp.1 clean: - rm -f *.o libbz2.a bzip2 bzip2recover \ + rm -f *.o *.sho libbz2.a libbz2.so* bzip2 bzip2recover \ sample1.rb2 sample2.rb2 sample3.rb2 \ sample1.tst sample2.tst sample3.tst -blocksort.o: blocksort.c - @cat words0 - $(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 -bzip2.o: bzip2.c - $(CC) $(CFLAGS) -c bzip2.c -bzip2recover.o: bzip2recover.c - $(CC) $(CFLAGS) -c bzip2recover.c - distclean: clean - rm -f manual.ps manual.html manual.pdf + #rm -f manual.ps manual.html manual.pdf DISTNAME=bzip2-1.0.6 dist: check manual