EXLMOTODEV

zlib Makefile

Apr 9th, 2014
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 9.26 KB | None | 0 0
  1. # Makefile for zlib
  2. # Copyright (C) 1995-2013 Jean-loup Gailly, Mark Adler
  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. # Normally configure builds both a static and a shared library.
  8. # If you want to build just a static library, use: ./configure --static
  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.  
  19. CC=mips-linux-gnu-gcc
  20.  
  21. CFLAGS=-O3  -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
  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.  
  27. SFLAGS=-O3  -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
  28. LDFLAGS=
  29. TEST_LDFLAGS=-L. libz.a
  30. LDSHARED=mips-linux-gnu-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map
  31. CPP=mips-linux-gnu-gcc -E
  32.  
  33. STATICLIB=libz.a
  34. SHAREDLIB=libz.so
  35. SHAREDLIBV=libz.so.1.2.8
  36. SHAREDLIBM=libz.so.1
  37. LIBS=$(STATICLIB) $(SHAREDLIBV)
  38.  
  39. AR=mips-linux-gnu-ar
  40. ARFLAGS=rc
  41. RANLIB=ranlib
  42. LDCONFIG=ldconfig
  43. LDSHAREDLIBC=-lc
  44. TAR=tar
  45. SHELL=/bin/sh
  46. EXE=
  47.  
  48. prefix =/usr/local
  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
  56.  
  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)
  60.  
  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)
  64.  
  65. # to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo
  66. OBJA =
  67. PIC_OBJA =
  68.  
  69. OBJS = $(OBJC) $(OBJA)
  70.  
  71. PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA)
  72.  
  73. all: static shared all64
  74.  
  75. static: example$(EXE) minigzip$(EXE)
  76.  
  77. shared: examplesh$(EXE) minigzipsh$(EXE)
  78.  
  79. all64: example64$(EXE) minigzip64$(EXE)
  80.  
  81. check: test
  82.  
  83. test: all teststatic testshared test64
  84.  
  85. teststatic: static
  86.     @TMPST=tmpst_$$; \
  87.     if echo hello world | ./minigzip | ./minigzip -d && ./example $$TMPST ; then \
  88.       echo '        *** zlib test OK ***'; \
  89.     else \
  90.       echo '        *** zlib test FAILED ***'; false; \
  91.     fi; \
  92.     rm -f $$TMPST
  93.  
  94. testshared: shared
  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; \
  99.     TMPSH=tmpsh_$$; \
  100.     if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh $$TMPSH; then \
  101.       echo '        *** zlib shared test OK ***'; \
  102.     else \
  103.       echo '        *** zlib shared test FAILED ***'; false; \
  104.     fi; \
  105.     rm -f $$TMPSH
  106.  
  107. test64: all64
  108.     @TMP64=tmp64_$$; \
  109.     if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64 $$TMP64; then \
  110.       echo '        *** zlib 64-bit test OK ***'; \
  111.     else \
  112.       echo '        *** zlib 64-bit test FAILED ***'; false; \
  113.     fi; \
  114.     rm -f $$TMP64
  115.  
  116. infcover.o: test/infcover.c zlib.h zconf.h
  117.     $(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c
  118.  
  119. infcover: infcover.o libz.a
  120.     $(CC) $(CFLAGS) -o $@ infcover.o libz.a
  121.  
  122. cover: infcover
  123.     rm -f *.gcda
  124.     ./infcover
  125.     gcov inf*.c
  126.  
  127. libz.a: $(OBJS)
  128.     $(AR) $(ARFLAGS) $@ $(OBJS)
  129.     -@ ($(RANLIB) $@ || true) >/dev/null 2>&1
  130.  
  131. match.o: match.S
  132.     $(CPP) match.S > _match.s
  133.     $(CC) -c _match.s
  134.     mv _match.o match.o
  135.     rm -f _match.s
  136.  
  137. match.lo: match.S
  138.     $(CPP) match.S > _match.s
  139.     $(CC) -c -fPIC _match.s
  140.     mv _match.o match.lo
  141.     rm -f _match.s
  142.  
  143. example.o: test/example.c zlib.h zconf.h
  144.     $(CC) $(CFLAGS) -I. -c -o $@ test/example.c
  145.  
  146. minigzip.o: test/minigzip.c zlib.h zconf.h
  147.     $(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
  148.  
  149. example64.o: test/example.c zlib.h zconf.h
  150.     $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c
  151.  
  152. minigzip64.o: test/minigzip.c zlib.h zconf.h
  153.     $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/minigzip.c
  154.  
  155. .SUFFIXES: .lo
  156.  
  157. .c.lo:
  158.     -@mkdir objs 2>/dev/null || test -d objs
  159.     $(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $<
  160.     -@mv objs/$*.o $@
  161.  
  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)
  167.     -@rmdir objs
  168.  
  169. example$(EXE): example.o $(STATICLIB)
  170.     $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS)
  171.  
  172. minigzip$(EXE): minigzip.o $(STATICLIB)
  173.     $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS)
  174.  
  175. examplesh$(EXE): example.o $(SHAREDLIBV)
  176.     $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV)
  177.  
  178. minigzipsh$(EXE): minigzip.o $(SHAREDLIBV)
  179.     $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV)
  180.  
  181. example64$(EXE): example64.o $(STATICLIB)
  182.     $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS)
  183.  
  184. minigzip64$(EXE): minigzip64.o $(STATICLIB)
  185.     $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS)
  186.  
  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; \
  205.     fi
  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
  212.  
  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
  217.  
  218. uninstall:
  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); \
  223.     fi
  224.     cd $(DESTDIR)$(man3dir) && rm -f zlib.3
  225.     cd $(DESTDIR)$(pkgconfigdir) && rm -f zlib.pc
  226.  
  227. docs: zlib.3.pdf
  228.  
  229. zlib.3.pdf: zlib.3
  230.     groff -mandoc -f H -T ps zlib.3 | ps2pdf - zlib.3.pdf
  231.  
  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 &&\
  237.     rm $$TEMPFILE
  238.  
  239. zconf: zconf.h.in
  240.     cp -p zconf.h.in zconf.h
  241.  
  242. mostlyclean: clean
  243. clean:
  244.     rm -f *.o *.lo *~ \
  245.        example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \
  246.        example64$(EXE) minigzip64$(EXE) \
  247.        infcover \
  248.        libz.* foo.gz so_locations \
  249.        _match.s maketree contrib/infback9/*.o
  250.     rm -rf objs
  251.     rm -f *.gcda *.gcno *.gcov
  252.     rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov
  253.  
  254. maintainer-clean: distclean
  255. distclean: clean zconf zconf.h.cmakein docs
  256.     rm -f Makefile zlib.pc configure.log
  257.     -@rm -f .DS_Store
  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
  261.  
  262. tags:
  263.     etags *.[ch]
  264.  
  265. depend:
  266.     makedepend -- $(CFLAGS) -- *.[ch]
  267.  
  268. # DO NOT DELETE THIS LINE -- make depend depends on it.
  269.  
  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
  279.  
  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
Advertisement
Add Comment
Please, Sign In to add comment