2 # Copyright (C) 1995-2013 Jean-loup Gailly, Mark Adler
3 # For conditions of distribution and use, see copyright notice in zlib.h
5 # To compile and test, type:
6 # ./configure; make test
7 # Normally configure builds both a static and a shared library.
8 # If you want to build just a static library, use: ./configure --static
10 # To use the asm code, type:
11 # cp contrib/asm?86/match.S ./match.S
12 # make LOC=-DASMV OBJA=match.o
14 # To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type:
16 # To install in $HOME instead of /usr/local, use:
17 # make install prefix=$HOME
22 #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
24 #CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
25 # -Wstrict-prototypes -Wmissing-prototypes
29 TEST_LDFLAGS
=-L. libz.a
35 SHAREDLIBV
=libz.so
.1.2.8
37 LIBS
=$(STATICLIB
) $(SHAREDLIBV
)
49 exec_prefix = ${prefix}
50 libdir = ${exec_prefix}/lib
51 sharedlibdir
= ${libdir}
52 includedir = ${prefix}/include
53 mandir = ${prefix}/share
/man
54 man3dir = ${mandir}/man3
55 pkgconfigdir
= ${libdir}/pkgconfig
57 OBJZ
= adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o
58 OBJG
= compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
59 OBJC
= $(OBJZ
) $(OBJG
)
61 PIC_OBJZ
= adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo
62 PIC_OBJG
= compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo
63 PIC_OBJC
= $(PIC_OBJZ
) $(PIC_OBJG
)
65 # to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
69 OBJS
= $(OBJC
) $(OBJA
)
71 PIC_OBJS
= $(PIC_OBJC
) $(PIC_OBJA
)
75 static
: example
$(EXE
) minigzip
$(EXE
)
77 shared
: examplesh
$(EXE
) minigzipsh
$(EXE
)
79 all64
: example64
$(EXE
) minigzip64
$(EXE
)
83 test: all teststatic testshared
87 if echo hello world | .
/minigzip | .
/minigzip
-d
&& .
/example
$$TMPST ; then \
88 echo
' *** zlib test OK ***'; \
90 echo
' *** zlib test FAILED ***'; false
; \
95 @LD_LIBRARY_PATH
=`pwd`:$(LD_LIBRARY_PATH
) ; export LD_LIBRARY_PATH
; \
96 LD_LIBRARYN32_PATH
=`pwd`:$(LD_LIBRARYN32_PATH
) ; export LD_LIBRARYN32_PATH
; \
97 DYLD_LIBRARY_PATH
=`pwd`:$(DYLD_LIBRARY_PATH
) ; export DYLD_LIBRARY_PATH
; \
98 SHLIB_PATH
=`pwd`:$(SHLIB_PATH
) ; export SHLIB_PATH
; \
100 if echo hello world | .
/minigzipsh | .
/minigzipsh
-d
&& .
/examplesh
$$TMPSH; then \
101 echo
' *** zlib shared test OK ***'; \
103 echo
' *** zlib shared test FAILED ***'; false
; \
109 if echo hello world | .
/minigzip64 | .
/minigzip64
-d
&& .
/example64
$$TMP64; then \
110 echo
' *** zlib 64-bit test OK ***'; \
112 echo
' *** zlib 64-bit test FAILED ***'; false
; \
116 infcover.o
: test/infcover.c zlib.h zconf.h
117 $(CC
) $(CFLAGS
) -I.
-c
-o
$@
test/infcover.c
119 infcover
: infcover.o libz.a
120 $(CC
) $(CFLAGS
) -o
$@ infcover.o libz.a
128 $(AR
) $(ARFLAGS
) $@
$(OBJS
)
129 -@
($(RANLIB
) $@ || true
) >/dev
/null
2>&1
132 $(CPP
) match.S
> _match.s
138 $(CPP
) match.S
> _match.s
139 $(CC
) -c
-fPIC _match.s
143 example.o
: test/example.c zlib.h zconf.h
144 $(CC
) $(CFLAGS
) -I.
-c
-o
$@
test/example.c
146 minigzip.o
: test/minigzip.c zlib.h zconf.h
147 $(CC
) $(CFLAGS
) -I.
-c
-o
$@
test/minigzip.c
149 example64.o
: test/example.c zlib.h zconf.h
150 $(CC
) $(CFLAGS
) -I.
-D_FILE_OFFSET_BITS
=64 -c
-o
$@
test/example.c
152 minigzip64.o
: test/minigzip.c zlib.h zconf.h
153 $(CC
) $(CFLAGS
) -I.
-D_FILE_OFFSET_BITS
=64 -c
-o
$@
test/minigzip.c
158 -@mkdir objs
2>/dev
/null ||
test -d objs
159 $(CC
) $(SFLAGS
) -DPIC
-c
-o objs
/$*.o
$<
162 placebo
$(SHAREDLIBV
): $(PIC_OBJS
) libz.a
163 $(LDSHARED
) $(SFLAGS
) -o
$@
$(PIC_OBJS
) $(LDSHAREDLIBC
) $(LDFLAGS
)
164 rm -f
$(SHAREDLIB
) $(SHAREDLIBM
)
165 ln
-s
$@
$(SHAREDLIB
)
166 ln
-s
$@
$(SHAREDLIBM
)
169 example
$(EXE
): example.o
$(STATICLIB
)
170 $(CC
) $(CFLAGS
) -o
$@ example.o
$(TEST_LDFLAGS
)
172 minigzip
$(EXE
): minigzip.o
$(STATICLIB
)
173 $(CC
) $(CFLAGS
) -o
$@ minigzip.o
$(TEST_LDFLAGS
)
175 examplesh
$(EXE
): example.o
$(SHAREDLIBV
)
176 $(CC
) $(CFLAGS
) -o
$@ example.o
-L.
$(SHAREDLIBV
)
178 minigzipsh
$(EXE
): minigzip.o
$(SHAREDLIBV
)
179 $(CC
) $(CFLAGS
) -o
$@ minigzip.o
-L.
$(SHAREDLIBV
)
181 example64
$(EXE
): example64.o
$(STATICLIB
)
182 $(CC
) $(CFLAGS
) -o
$@ example64.o
$(TEST_LDFLAGS
)
184 minigzip64
$(EXE
): minigzip64.o
$(STATICLIB
)
185 $(CC
) $(CFLAGS
) -o
$@ minigzip64.o
$(TEST_LDFLAGS
)
187 install-libs
: $(LIBS
)
188 -@if
[ ! -d
$(DESTDIR
)$(exec_prefix) ]; then mkdir
-p
$(DESTDIR
)$(exec_prefix); fi
189 -@if
[ ! -d
$(DESTDIR
)$(libdir) ]; then mkdir
-p
$(DESTDIR
)$(libdir); fi
190 -@if
[ ! -d
$(DESTDIR
)$(sharedlibdir
) ]; then mkdir
-p
$(DESTDIR
)$(sharedlibdir
); fi
191 -@if
[ ! -d
$(DESTDIR
)$(man3dir) ]; then mkdir
-p
$(DESTDIR
)$(man3dir); fi
192 -@if
[ ! -d
$(DESTDIR
)$(pkgconfigdir
) ]; then mkdir
-p
$(DESTDIR
)$(pkgconfigdir
); fi
193 cp
$(STATICLIB
) $(DESTDIR
)$(libdir)
194 chmod
644 $(DESTDIR
)$(libdir)/$(STATICLIB
)
195 -@
($(RANLIB
) $(DESTDIR
)$(libdir)/libz.a || true
) >/dev
/null
2>&1
196 -@if
test -n
"$(SHAREDLIBV)"; then \
197 cp
$(SHAREDLIBV
) $(DESTDIR
)$(sharedlibdir
); \
198 echo
"cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \
199 chmod
755 $(DESTDIR
)$(sharedlibdir
)/$(SHAREDLIBV
); \
200 echo
"chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \
201 rm -f
$(DESTDIR
)$(sharedlibdir
)/$(SHAREDLIB
) $(DESTDIR
)$(sharedlibdir
)/$(SHAREDLIBM
); \
202 ln
-s
$(SHAREDLIBV
) $(DESTDIR
)$(sharedlibdir
)/$(SHAREDLIB
); \
203 ln
-s
$(SHAREDLIBV
) $(DESTDIR
)$(sharedlibdir
)/$(SHAREDLIBM
); \
204 ($(LDCONFIG
) || true
) >/dev
/null
2>&1; \
206 cp zlib
.3 $(DESTDIR
)$(man3dir)
207 chmod
644 $(DESTDIR
)$(man3dir)/zlib
.3
208 cp zlib.
pc $(DESTDIR
)$(pkgconfigdir
)
209 chmod
644 $(DESTDIR
)$(pkgconfigdir
)/zlib.
pc
210 # The ranlib in install is needed on NeXTSTEP which checks file times
211 # ldconfig is for Linux
213 install: install-libs
214 -@if
[ ! -d
$(DESTDIR
)$(includedir) ]; then mkdir
-p
$(DESTDIR
)$(includedir); fi
215 cp zlib.h zconf.h
$(DESTDIR
)$(includedir)
216 chmod
644 $(DESTDIR
)$(includedir)/zlib.h
$(DESTDIR
)$(includedir)/zconf.h
219 cd
$(DESTDIR
)$(includedir) && rm -f zlib.h zconf.h
220 cd
$(DESTDIR
)$(libdir) && rm -f libz.a
; \
221 if
test -n
"$(SHAREDLIBV)" -a
-f
$(SHAREDLIBV
); then \
222 rm -f
$(SHAREDLIBV
) $(SHAREDLIB
) $(SHAREDLIBM
); \
224 cd
$(DESTDIR
)$(man3dir) && rm -f zlib
.3
225 cd
$(DESTDIR
)$(pkgconfigdir
) && rm -f zlib.
pc
230 groff
-mandoc
-f H
-T ps zlib
.3 | ps2pdf
- zlib
.3.pdf
232 zconf.h.cmakein
: zconf.h.in
233 -@ TEMPFILE
=zconfh_
$$; \
234 echo
"/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\
235 sed
-f
$$TEMPFILE zconf.h.in
> zconf.h.cmakein
&&\
236 touch
-r zconf.h.in zconf.h.cmakein
&&\
240 cp
-p zconf.h.in zconf.h
245 example
$(EXE
) minigzip
$(EXE
) examplesh
$(EXE
) minigzipsh
$(EXE
) \
246 example64
$(EXE
) minigzip64
$(EXE
) \
248 libz.
* foo.gz so_locations \
249 _match.s maketree contrib
/infback9
/*.o
251 rm -f
*.gcda
*.gcno
*.gcov
252 rm -f contrib
/infback9
/*.gcda contrib
/infback9
/*.gcno contrib
/infback9
/*.gcov
254 maintainer-clean
: distclean
255 distclean: clean zconf zconf.h.cmakein docs
256 rm -f Makefile zlib.
pc configure.log
258 -@printf
'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile
259 -@printf
'\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile
260 -@touch
-r Makefile.in Makefile
266 makedepend
-- $(CFLAGS
) -- *.
[ch
]
268 # DO NOT DELETE THIS LINE -- make depend depends on it.
270 adler32.o zutil.o
: zutil.h zlib.h zconf.h
271 gzclose.o gzlib.o gzread.o gzwrite.o
: zlib.h zconf.h gzguts.h
272 compress.o example.o minigzip.o uncompr.o
: zlib.h zconf.h
273 crc32.o
: zutil.h zlib.h zconf.h crc32.h
274 deflate.o
: deflate.h zutil.h zlib.h zconf.h
275 infback.o inflate.o
: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h
276 inffast.o
: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
277 inftrees.o
: zutil.h zlib.h zconf.h inftrees.h
278 trees.o
: deflate.h zutil.h zlib.h zconf.h trees.h
280 adler32.lo zutil.lo
: zutil.h zlib.h zconf.h
281 gzclose.lo gzlib.lo gzread.lo gzwrite.lo
: zlib.h zconf.h gzguts.h
282 compress.lo example.lo minigzip.lo uncompr.lo
: zlib.h zconf.h
283 crc32.lo
: zutil.h zlib.h zconf.h crc32.h
284 deflate.lo
: deflate.h zutil.h zlib.h zconf.h
285 infback.lo inflate.lo
: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h
286 inffast.lo
: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
287 inftrees.lo
: zutil.h zlib.h zconf.h inftrees.h
288 trees.lo
: deflate.h zutil.h zlib.h zconf.h trees.h