diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 42 |
1 files changed, 29 insertions, 13 deletions
@@ -22,12 +22,14 @@ CFLAGS=-O | |||
22 | LDFLAGS=-L. -lz | 22 | LDFLAGS=-L. -lz |
23 | LDSHARED=$(CC) | 23 | LDSHARED=$(CC) |
24 | 24 | ||
25 | VER=1.0.5 | 25 | VER=1.0.7 |
26 | LIBS=libz.a | 26 | LIBS=libz.a |
27 | SHAREDLIB=libz.so | ||
27 | 28 | ||
28 | AR=ar rc | 29 | AR=ar rc |
29 | RANLIB=ranlib | 30 | RANLIB=ranlib |
30 | TAR=tar | 31 | TAR=tar |
32 | SHELL=/bin/sh | ||
31 | 33 | ||
32 | prefix=/usr/local | 34 | prefix=/usr/local |
33 | exec_prefix = $(prefix) | 35 | exec_prefix = $(prefix) |
@@ -37,22 +39,30 @@ OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ | |||
37 | 39 | ||
38 | TEST_OBJS = example.o minigzip.o | 40 | TEST_OBJS = example.o minigzip.o |
39 | 41 | ||
40 | DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] descrip.mms \ | 42 | DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \ |
41 | zlib.def zlib.rc algorithm.doc *.[ch] | 43 | algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ |
44 | nt/Makefile.nt nt/zlib.dnt contrib/README.contrib contrib/*.txt \ | ||
45 | contrib/asm386/*.asm contrib/asm386/*.c \ | ||
46 | contrib/asm386/*.bat contrib/asm386/*.mak contrib/iostream/*.cpp \ | ||
47 | contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ | ||
48 | contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 | ||
42 | 49 | ||
43 | all: example minigzip | 50 | all: example minigzip |
44 | 51 | ||
45 | test: all | 52 | test: all |
46 | ./example | 53 | @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ |
47 | echo hello world | ./minigzip | ./minigzip -d | 54 | ./example ; \ |
55 | echo hello world | ./minigzip | ./minigzip -d | ||
48 | 56 | ||
49 | libz.a: $(OBJS) | 57 | libz.a: $(OBJS) |
50 | $(AR) $@ $(OBJS) | 58 | $(AR) $@ $(OBJS) |
51 | -@ ($(RANLIB) $@ || true) 2>/dev/null | 59 | -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 |
52 | 60 | ||
53 | libz.so.$(VER): $(OBJS) | 61 | $(SHAREDLIB).$(VER): $(OBJS) |
54 | $(LDSHARED) -o $@ $(OBJS) | 62 | $(LDSHARED) -o $@ $(OBJS) |
55 | rm -f libz.so; ln -s $@ libz.so | 63 | rm -f $(SHAREDLIB) $(SHAREDLIB).1 |
64 | ln -s $@ $(SHAREDLIB) | ||
65 | ln -s $@ $(SHAREDLIB).1 | ||
56 | 66 | ||
57 | example: example.o $(LIBS) | 67 | example: example.o $(LIBS) |
58 | $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) | 68 | $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) |
@@ -68,22 +78,28 @@ install: $(LIBS) | |||
68 | cp $(LIBS) $(exec_prefix)/lib | 78 | cp $(LIBS) $(exec_prefix)/lib |
69 | cd $(exec_prefix)/lib; chmod 644 $(LIBS) | 79 | cd $(exec_prefix)/lib; chmod 644 $(LIBS) |
70 | -@(cd $(exec_prefix)/lib; $(RANLIB) libz.a || true) >/dev/null 2>&1 | 80 | -@(cd $(exec_prefix)/lib; $(RANLIB) libz.a || true) >/dev/null 2>&1 |
71 | cd $(exec_prefix)/lib; if test -f libz.so.$(VER); then \ | 81 | cd $(exec_prefix)/lib; if test -f $(SHAREDLIB).$(VER); then \ |
72 | ln -s libz.so.$(VER) libz.so; \ | 82 | rm -f $(SHAREDLIB) $(SHAREDLIB).1; \ |
83 | ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB); \ | ||
84 | ln -s $(SHAREDLIB).$(VER) $(SHAREDLIB).1; \ | ||
85 | (ldconfig || true) >/dev/null 2>&1; \ | ||
73 | fi | 86 | fi |
74 | # The ranlib in install is needed on NeXTSTEP which checks file times | 87 | # The ranlib in install is needed on NeXTSTEP which checks file times |
88 | # ldconfig is for Linux | ||
75 | 89 | ||
76 | uninstall: | 90 | uninstall: |
77 | cd $(exec_prefix)/lib; rm -f $(LIBS); \ | 91 | cd $(exec_prefix)/lib; rm -f $(LIBS); \ |
78 | if test -f libz.so; then \ | 92 | if test -f $(SHAREDLIB); then \ |
79 | v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p'<$(prefix)/include/zlib.h`;\ | 93 | v=`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p'<$(prefix)/include/zlib.h`;\ |
80 | rm -f libz.so.$$v libz.so; \ | 94 | rm -f $(SHAREDLIB).$$v $(SHAREDLIB); \ |
81 | fi | 95 | fi |
82 | cd $(prefix)/include; rm -f zlib.h zconf.h | 96 | cdz $(prefix)/include; rm -f zlib.h zconf.h |
83 | 97 | ||
84 | clean: | 98 | clean: |
85 | rm -f *.o *~ example minigzip libz.a libz.so* foo.gz | 99 | rm -f *.o *~ example minigzip libz.a libz.so* foo.gz |
86 | 100 | ||
101 | distclean: clean | ||
102 | |||
87 | zip: | 103 | zip: |
88 | mv Makefile Makefile~; cp -p Makefile.in Makefile | 104 | mv Makefile Makefile~; cp -p Makefile.in Makefile |
89 | v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ | 105 | v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ |