$OpenBSD: patch-Makefile,v 1.11 2007/01/25 21:08:22 naddy Exp $ --- Makefile.orig Tue Jan 23 21:27:43 2007 +++ Makefile Tue Jan 23 21:35:18 2007 @@ -23,10 +23,9 @@ LDFLAGS= BIGFILES=-D_FILE_OFFSET_BITS=64 CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) -# Where you want it installed when you do 'make install' -PREFIX=/usr/local +PICFLAG= -fpic +SHLIB= libbz2.so.${LIBbz2_VERSION} - OBJS= blocksort.o \ huffman.o \ crctable.o \ @@ -34,10 +33,17 @@ OBJS= blocksort.o \ compress.o \ decompress.o \ bzlib.o +SHOBJS= $(OBJS:.o=.so) -all: libbz2.a bzip2 bzip2recover test +.SUFFIXES: .o .so +.if defined(NO_SHARED_LIBS) && ${NO_SHARED_LIBS:L} == "yes" +all: libbz2.a bzip2 bzip2recover bzip2: libbz2.a bzip2.o +.else +all: libbz2.a $(SHLIB) bzip2 bzip2recover +bzip2: libbz2.a $(SHLIB) bzip2.o +.endif $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2 bzip2recover: bzip2recover.o @@ -52,66 +58,61 @@ libbz2.a: $(OBJS) $(RANLIB) libbz2.a ; \ fi +$(SHLIB): $(SHOBJS) + rm -f $(SHLIB) + $(CC) -shared $(PICFLAG) -o $(SHLIB) $(SHOBJS) + check: test test: bzip2 - @cat words1 - ./bzip2 -1 < sample1.ref > sample1.rb2 - ./bzip2 -2 < sample2.ref > sample2.rb2 - ./bzip2 -3 < sample3.ref > sample3.rb2 - ./bzip2 -d < sample1.bz2 > sample1.tst - ./bzip2 -d < sample2.bz2 > sample2.tst - ./bzip2 -ds < sample3.bz2 > sample3.tst - cmp sample1.bz2 sample1.rb2 - cmp sample2.bz2 sample2.rb2 - cmp sample3.bz2 sample3.rb2 - cmp sample1.tst sample1.ref - cmp sample2.tst sample2.ref - cmp sample3.tst sample3.ref - @cat words3 + ./bzip2 -1 < sample1.ref > sample1.rb2 || exit 1 + ./bzip2 -2 < sample2.ref > sample2.rb2 || exit 1 + ./bzip2 -3 < sample3.ref > sample3.rb2 || exit 1 + ./bzip2 -d < sample1.bz2 > sample1.tst || exit 1 + ./bzip2 -d < sample2.bz2 > sample2.tst || exit 1 + ./bzip2 -ds < sample3.bz2 > sample3.tst || exit 1 + cmp sample1.bz2 sample1.rb2 || exit 1 + cmp sample2.bz2 sample2.rb2 || exit 1 + cmp sample3.bz2 sample3.rb2 || exit 1 + cmp sample1.tst sample1.ref || exit 1 + cmp sample2.tst sample2.ref || exit 1 + cmp sample3.tst sample3.ref || exit 1 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 + if ( test ! -d $(DESTDIR)$(PREFIX)/bin ) ; then $(BSD_INSTALL_PROGRAM_DIR) $(DESTDIR)$(PREFIX)/bin ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/lib ) ; then $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(PREFIX)/lib ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/man ) ; then $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(PREFIX)/man ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/man/man1 ) ; then $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(PREFIX)/man/man1 ; fi + if ( test ! -d $(DESTDIR)$(PREFIX)/include ) ; then $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(PREFIX)/include ; fi + $(BSD_INSTALL_DATA) libbz2.a $(DESTDIR)$(PREFIX)/lib + @if [ -f $(SHLIB) ]; then \ + $(BSD_INSTALL_DATA) $(SHLIB) $(DESTDIR)$(PREFIX)/lib; \ + fi + $(BSD_INSTALL_DATA) bzlib.h $(DESTDIR)$(PREFIX)/include + $(BSD_INSTALL_PROGRAM) bzip2 bzip2recover $(DESTDIR)$(PREFIX)/bin + $(BSD_INSTALL_SCRIPT) bzgrep bzmore bzdiff $(DESTDIR)$(PREFIX)/bin + @cd $(DESTDIR)$(PREFIX)/bin; ln -fs bzip2 bunzip2; \ + ln -fs bzip2 bzcat + @cd $(DESTDIR)$(PREFIX)/bin; ln -fs bzgrep bzegrep; \ + ln -fs bzgrep bzfgrep + @cd $(DESTDIR)$(PREFIX)/bin; ln -fs bzmore bzless + @cd $(DESTDIR)$(PREFIX)/bin; ln -fs bzdiff bzcmp + $(BSD_INSTALL_MAN) bzip2.1 bzgrep.1 bzmore.1 bzdiff.1 \ + $(DESTDIR)$(PREFIX)/man/man1 + @cd $(DESTDIR)$(PREFIX)/man/man1; ln -fs bzip2.1 bunzip2.1; \ + ln -fs bzip2.1 bzcat.1; \ + ln -fs bzip2.1 bzip2recover.1 + @cd $(DESTDIR)$(PREFIX)/man/man1; ln -fs bzgrep.1 bzegrep.1; \ + ln -fs bzgrep.1 bzfgrep.1 + @cd $(DESTDIR)$(PREFIX)/man/man1; ln -fs bzmore.1 bzless.1 + @cd $(DESTDIR)$(PREFIX)/man/man1; ln -fs bzdiff.1 bzcmp.1 clean: - rm -f *.o libbz2.a bzip2 bzip2recover \ + rm -f *.o *.so libbz2.a $(SHLIB) bzip2 bzip2recover \ sample1.rb2 sample2.rb2 sample3.rb2 \ sample1.tst sample2.tst sample3.tst + +.c.so: + $(CC) $(CFLAGS) $(PICFLAG) -DPIC -c $? -o $@ blocksort.o: blocksort.c @cat words0