Makefile 4.0 KB

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