cannam@89: # ------------------------------------------------------------------ cannam@89: # This file is part of bzip2/libbzip2, a program and library for cannam@89: # lossless, block-sorting data compression. cannam@89: # cannam@89: # bzip2/libbzip2 version 1.0.6 of 6 September 2010 cannam@89: # Copyright (C) 1996-2010 Julian Seward cannam@89: # cannam@89: # Please read the WARNING, DISCLAIMER and PATENTS sections in the cannam@89: # README file. cannam@89: # cannam@89: # This program is released under the terms of the license contained cannam@89: # in the file LICENSE. cannam@89: # ------------------------------------------------------------------ cannam@89: cannam@89: SHELL=/bin/sh cannam@89: cannam@89: # To assist in cross-compiling cannam@89: CC=gcc cannam@89: AR=ar cannam@89: RANLIB=ranlib cannam@89: LDFLAGS= cannam@89: cannam@89: BIGFILES=-D_FILE_OFFSET_BITS=64 cannam@89: CFLAGS=-Wall -Winline -O2 -g $(BIGFILES) cannam@89: cannam@89: # Where you want it installed when you do 'make install' cannam@89: PREFIX=/usr/local cannam@89: cannam@89: cannam@89: OBJS= blocksort.o \ cannam@89: huffman.o \ cannam@89: crctable.o \ cannam@89: randtable.o \ cannam@89: compress.o \ cannam@89: decompress.o \ cannam@89: bzlib.o cannam@89: cannam@89: all: libbz2.a bzip2 bzip2recover test cannam@89: cannam@89: bzip2: libbz2.a bzip2.o cannam@89: $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2 bzip2.o -L. -lbz2 cannam@89: cannam@89: bzip2recover: bzip2recover.o cannam@89: $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2recover bzip2recover.o cannam@89: cannam@89: libbz2.a: $(OBJS) cannam@89: rm -f libbz2.a cannam@89: $(AR) cq libbz2.a $(OBJS) cannam@89: @if ( test -f $(RANLIB) -o -f /usr/bin/ranlib -o \ cannam@89: -f /bin/ranlib -o -f /usr/ccs/bin/ranlib ) ; then \ cannam@89: echo $(RANLIB) libbz2.a ; \ cannam@89: $(RANLIB) libbz2.a ; \ cannam@89: fi cannam@89: cannam@89: check: test cannam@89: test: bzip2 cannam@89: @cat words1 cannam@89: ./bzip2 -1 < sample1.ref > sample1.rb2 cannam@89: ./bzip2 -2 < sample2.ref > sample2.rb2 cannam@89: ./bzip2 -3 < sample3.ref > sample3.rb2 cannam@89: ./bzip2 -d < sample1.bz2 > sample1.tst cannam@89: ./bzip2 -d < sample2.bz2 > sample2.tst cannam@89: ./bzip2 -ds < sample3.bz2 > sample3.tst cannam@89: cmp sample1.bz2 sample1.rb2 cannam@89: cmp sample2.bz2 sample2.rb2 cannam@89: cmp sample3.bz2 sample3.rb2 cannam@89: cmp sample1.tst sample1.ref cannam@89: cmp sample2.tst sample2.ref cannam@89: cmp sample3.tst sample3.ref cannam@89: @cat words3 cannam@89: cannam@89: install: bzip2 bzip2recover cannam@89: if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi cannam@89: if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi cannam@89: if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi cannam@89: if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi cannam@89: if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi cannam@89: cp -f bzip2 $(PREFIX)/bin/bzip2 cannam@89: cp -f bzip2 $(PREFIX)/bin/bunzip2 cannam@89: cp -f bzip2 $(PREFIX)/bin/bzcat cannam@89: cp -f bzip2recover $(PREFIX)/bin/bzip2recover cannam@89: chmod a+x $(PREFIX)/bin/bzip2 cannam@89: chmod a+x $(PREFIX)/bin/bunzip2 cannam@89: chmod a+x $(PREFIX)/bin/bzcat cannam@89: chmod a+x $(PREFIX)/bin/bzip2recover cannam@89: cp -f bzip2.1 $(PREFIX)/man/man1 cannam@89: chmod a+r $(PREFIX)/man/man1/bzip2.1 cannam@89: cp -f bzlib.h $(PREFIX)/include cannam@89: chmod a+r $(PREFIX)/include/bzlib.h cannam@89: cp -f libbz2.a $(PREFIX)/lib cannam@89: chmod a+r $(PREFIX)/lib/libbz2.a cannam@89: cp -f bzgrep $(PREFIX)/bin/bzgrep cannam@89: ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep cannam@89: ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep cannam@89: chmod a+x $(PREFIX)/bin/bzgrep cannam@89: cp -f bzmore $(PREFIX)/bin/bzmore cannam@89: ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless cannam@89: chmod a+x $(PREFIX)/bin/bzmore cannam@89: cp -f bzdiff $(PREFIX)/bin/bzdiff cannam@89: ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp cannam@89: chmod a+x $(PREFIX)/bin/bzdiff cannam@89: cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1 cannam@89: chmod a+r $(PREFIX)/man/man1/bzgrep.1 cannam@89: chmod a+r $(PREFIX)/man/man1/bzmore.1 cannam@89: chmod a+r $(PREFIX)/man/man1/bzdiff.1 cannam@89: echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1 cannam@89: echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1 cannam@89: echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1 cannam@89: echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1 cannam@89: cannam@89: clean: cannam@89: rm -f *.o libbz2.a bzip2 bzip2recover \ cannam@89: sample1.rb2 sample2.rb2 sample3.rb2 \ cannam@89: sample1.tst sample2.tst sample3.tst cannam@89: cannam@89: blocksort.o: blocksort.c cannam@89: @cat words0 cannam@89: $(CC) $(CFLAGS) -c blocksort.c cannam@89: huffman.o: huffman.c cannam@89: $(CC) $(CFLAGS) -c huffman.c cannam@89: crctable.o: crctable.c cannam@89: $(CC) $(CFLAGS) -c crctable.c cannam@89: randtable.o: randtable.c cannam@89: $(CC) $(CFLAGS) -c randtable.c cannam@89: compress.o: compress.c cannam@89: $(CC) $(CFLAGS) -c compress.c cannam@89: decompress.o: decompress.c cannam@89: $(CC) $(CFLAGS) -c decompress.c cannam@89: bzlib.o: bzlib.c cannam@89: $(CC) $(CFLAGS) -c bzlib.c cannam@89: bzip2.o: bzip2.c cannam@89: $(CC) $(CFLAGS) -c bzip2.c cannam@89: bzip2recover.o: bzip2recover.c cannam@89: $(CC) $(CFLAGS) -c bzip2recover.c cannam@89: cannam@89: cannam@89: distclean: clean cannam@89: rm -f manual.ps manual.html manual.pdf cannam@89: cannam@89: DISTNAME=bzip2-1.0.6 cannam@89: dist: check manual cannam@89: rm -f $(DISTNAME) cannam@89: ln -s -f . $(DISTNAME) cannam@89: tar cvf $(DISTNAME).tar \ cannam@89: $(DISTNAME)/blocksort.c \ cannam@89: $(DISTNAME)/huffman.c \ cannam@89: $(DISTNAME)/crctable.c \ cannam@89: $(DISTNAME)/randtable.c \ cannam@89: $(DISTNAME)/compress.c \ cannam@89: $(DISTNAME)/decompress.c \ cannam@89: $(DISTNAME)/bzlib.c \ cannam@89: $(DISTNAME)/bzip2.c \ cannam@89: $(DISTNAME)/bzip2recover.c \ cannam@89: $(DISTNAME)/bzlib.h \ cannam@89: $(DISTNAME)/bzlib_private.h \ cannam@89: $(DISTNAME)/Makefile \ cannam@89: $(DISTNAME)/LICENSE \ cannam@89: $(DISTNAME)/bzip2.1 \ cannam@89: $(DISTNAME)/bzip2.1.preformatted \ cannam@89: $(DISTNAME)/bzip2.txt \ cannam@89: $(DISTNAME)/words0 \ cannam@89: $(DISTNAME)/words1 \ cannam@89: $(DISTNAME)/words2 \ cannam@89: $(DISTNAME)/words3 \ cannam@89: $(DISTNAME)/sample1.ref \ cannam@89: $(DISTNAME)/sample2.ref \ cannam@89: $(DISTNAME)/sample3.ref \ cannam@89: $(DISTNAME)/sample1.bz2 \ cannam@89: $(DISTNAME)/sample2.bz2 \ cannam@89: $(DISTNAME)/sample3.bz2 \ cannam@89: $(DISTNAME)/dlltest.c \ cannam@89: $(DISTNAME)/manual.html \ cannam@89: $(DISTNAME)/manual.pdf \ cannam@89: $(DISTNAME)/manual.ps \ cannam@89: $(DISTNAME)/README \ cannam@89: $(DISTNAME)/README.COMPILATION.PROBLEMS \ cannam@89: $(DISTNAME)/README.XML.STUFF \ cannam@89: $(DISTNAME)/CHANGES \ cannam@89: $(DISTNAME)/libbz2.def \ cannam@89: $(DISTNAME)/libbz2.dsp \ cannam@89: $(DISTNAME)/dlltest.dsp \ cannam@89: $(DISTNAME)/makefile.msc \ cannam@89: $(DISTNAME)/unzcrash.c \ cannam@89: $(DISTNAME)/spewG.c \ cannam@89: $(DISTNAME)/mk251.c \ cannam@89: $(DISTNAME)/bzdiff \ cannam@89: $(DISTNAME)/bzdiff.1 \ cannam@89: $(DISTNAME)/bzmore \ cannam@89: $(DISTNAME)/bzmore.1 \ cannam@89: $(DISTNAME)/bzgrep \ cannam@89: $(DISTNAME)/bzgrep.1 \ cannam@89: $(DISTNAME)/Makefile-libbz2_so \ cannam@89: $(DISTNAME)/bz-common.xsl \ cannam@89: $(DISTNAME)/bz-fo.xsl \ cannam@89: $(DISTNAME)/bz-html.xsl \ cannam@89: $(DISTNAME)/bzip.css \ cannam@89: $(DISTNAME)/entities.xml \ cannam@89: $(DISTNAME)/manual.xml \ cannam@89: $(DISTNAME)/format.pl \ cannam@89: $(DISTNAME)/xmlproc.sh cannam@89: gzip -v $(DISTNAME).tar cannam@89: cannam@89: # For rebuilding the manual from sources on my SuSE 9.1 box cannam@89: cannam@89: MANUAL_SRCS= bz-common.xsl bz-fo.xsl bz-html.xsl bzip.css \ cannam@89: entities.xml manual.xml cannam@89: cannam@89: manual: manual.html manual.ps manual.pdf cannam@89: cannam@89: manual.ps: $(MANUAL_SRCS) cannam@89: ./xmlproc.sh -ps manual.xml cannam@89: cannam@89: manual.pdf: $(MANUAL_SRCS) cannam@89: ./xmlproc.sh -pdf manual.xml cannam@89: cannam@89: manual.html: $(MANUAL_SRCS) cannam@89: ./xmlproc.sh -html manual.xml