1# Makefile for zlib 2# Copyright (C) 1995-2005 Jean-loup Gailly. 3# For conditions of distribution and use, see copyright notice in zlib.h 4 5# To compile and test, type: 6# ./configure; make test 7# The call of configure is optional if you don't have special requirements 8# If you wish to build zlib as a shared library, use: ./configure -s 9 10# To use the asm code, type: 11# cp contrib/asm?86/match.S ./match.S 12# make LOC=-DASMV OBJA=match.o 13 14# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type: 15# make install 16# To install in $HOME instead of /usr/local, use: 17# make install prefix=$HOME 18 19CC=cc 20 21CFLAGS=-O 22#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 23#CFLAGS=-g -DDEBUG 24#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 25# -Wstrict-prototypes -Wmissing-prototypes 26 27LDFLAGS=libz.a 28LDSHARED=$(CC) -shared -Wl,-soname,$(SHAREDLIBM) 29CPP=$(CC) -E 30 31LIBS= 32STATICLIB=libz.a 33SHAREDLIB=libz.so 34SHAREDLIBV=libz.so.1.2.3 35SHAREDLIBM=libz.so.1 36 37AR=ar 38RANLIB=ranlib 39TAR=tar 40SHELL=/bin/sh 41EXE= 42 43DESTDIR = 44 45prefix = /usr/local 46exec_prefix = ${prefix} 47libdir = ${exec_prefix}/lib 48includedir = ${prefix}/include 49mandir = ${prefix}/share/man 50man3dir = ${mandir}/man3 51 52OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 53 zutil.o inflate.o infback.o inftrees.o inffast.o 54 55OBJA = 56# to use the asm code: make OBJA=match.o 57 58TEST_OBJS = example.o minigzip.o 59 60all: example$(EXE) minigzip$(EXE) 61 62check: test 63test: all 64 @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ 65 echo hello world | ./minigzip | ./minigzip -d || \ 66 echo ' *** minigzip test FAILED ***' ; \ 67 if ./example; then \ 68 echo ' *** zlib test OK ***'; \ 69 else \ 70 echo ' *** zlib test FAILED ***'; \ 71 fi 72 73$(STATICLIB): $(OBJS) $(OBJA) 74 $(AR) rc $@ $(OBJS) $(OBJA) 75 -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 76 77match.o: match.S 78 $(CPP) match.S > _match.s 79 $(CC) -c _match.s 80 mv _match.o match.o 81 rm -f _match.s 82 83$(SHAREDLIB): $(SHAREDLIBV) 84 85$(SHAREDLIBV): $(OBJS) 86 $(LDSHARED) -lc -o $@ $(OBJS) 87 rm -f $(SHAREDLIB) $(SHAREDLIBM) 88 ln -s $@ $(SHAREDLIB) 89 ln -s $@ $(SHAREDLIBM) 90 91example$(EXE): example.o $(LIBS) 92 $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) 93 94minigzip$(EXE): minigzip.o $(LIBS) 95 $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) 96 97install: $(LIBS) 98 -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi 99 -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi 100 -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi 101 -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi 102 cp zlib.h zconf.h $(DESTDIR)$(includedir) 103 chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h 104 cp $(STATICLIB) $(SHAREDLIBV) $(DESTDIR)$(libdir) 105 cd $(DESTDIR)$(libdir); chmod 755 $(LIBS) 106 -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 107 cd $(DESTDIR)$(libdir); if test -f $(SHAREDLIBV); then \ 108 rm -f $(SHAREDLIB) $(SHAREDLIBM); \ 109 ln -s $(SHAREDLIBV) $(SHAREDLIB); \ 110 ln -s $(SHAREDLIBV) $(SHAREDLIBM); \ 111 (ldconfig || true) >/dev/null 2>&1; \ 112 fi 113 cp zlib.3 $(DESTDIR)$(man3dir) 114 chmod 644 $(DESTDIR)$(man3dir)/zlib.3 115# The ranlib in install is needed on NeXTSTEP which checks file times 116# ldconfig is for Linux 117 118uninstall: 119 cd $(includedir); \ 120 cd $(libdir); rm -f libz.a; \ 121 if test -f $(SHAREDLIBV); then \ 122 rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \ 123 fi 124 cd $(man3dir); rm -f zlib.3 125 126mostlyclean: clean 127clean: 128 rm -f *.o *~ example$(EXE) minigzip$(EXE) \ 129 libz.* foo.gz so_locations \ 130 _match.s maketree contrib/infback9/*.o 131 132maintainer-clean: distclean 133distclean: clean 134 cp -p Makefile.in Makefile 135 cp -p zconf.in.h zconf.h 136 rm -f .DS_Store 137 138tags: 139 etags *.[ch] 140 141depend: 142 makedepend -- $(CFLAGS) -- *.[ch] 143 144# DO NOT DELETE THIS LINE -- make depend depends on it. 145 146adler32.o: zlib.h zconf.h 147compress.o: zlib.h zconf.h 148crc32.o: crc32.h zlib.h zconf.h 149deflate.o: deflate.h zutil.h zlib.h zconf.h 150example.o: zlib.h zconf.h 151gzio.o: zutil.h zlib.h zconf.h 152inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 153inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 154infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h 155inftrees.o: zutil.h zlib.h zconf.h inftrees.h 156minigzip.o: zlib.h zconf.h 157trees.o: deflate.h zutil.h zlib.h zconf.h trees.h 158uncompr.o: zlib.h zconf.h 159zutil.o: zutil.h zlib.h zconf.h 160