1 | # Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96.
|
---|
2 | # Copyright (C) 1995-1998 Jean-loup Gailly.
|
---|
3 | # For conditions of distribution and use, see copyright notice in zlib.h
|
---|
4 |
|
---|
5 | # To compile, or to compile and test, type:
|
---|
6 | #
|
---|
7 | # make -fmakefile.dj2; make test -fmakefile.dj2
|
---|
8 | #
|
---|
9 | # To install libz.a, zconf.h and zlib.h in the djgpp directories, type:
|
---|
10 | #
|
---|
11 | # make install -fmakefile.dj2
|
---|
12 | #
|
---|
13 | # after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as
|
---|
14 | # in the sample below if the pattern of the DJGPP distribution is to
|
---|
15 | # be followed. Remember that, while <sp>'es around <=> are ignored in
|
---|
16 | # makefiles, they are *not* in batch files or in djgpp.env.
|
---|
17 | # - - - - -
|
---|
18 | # [make]
|
---|
19 | # INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
|
---|
20 | # LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
|
---|
21 | # BUTT=-m486
|
---|
22 | # - - - - -
|
---|
23 | # Alternately, these variables may be defined below, overriding the values
|
---|
24 | # in djgpp.env, as
|
---|
25 | # INCLUDE_PATH=c:\usr\include
|
---|
26 | # LIBRARY_PATH=c:\usr\lib
|
---|
27 |
|
---|
28 | CC=gcc
|
---|
29 |
|
---|
30 | #CFLAGS=-MMD -O
|
---|
31 | #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
|
---|
32 | #CFLAGS=-MMD -g -DZLIB_DEBUG
|
---|
33 | CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
|
---|
34 | -Wstrict-prototypes -Wmissing-prototypes
|
---|
35 |
|
---|
36 | # If cp.exe is available, replace "copy /Y" with "cp -fp" .
|
---|
37 | CP=copy /Y
|
---|
38 | # If gnu install.exe is available, replace $(CP) with ginstall.
|
---|
39 | INSTALL=$(CP)
|
---|
40 | # The default value of RM is "rm -f." If "rm.exe" is found, comment out:
|
---|
41 | RM=del
|
---|
42 | LDLIBS=-L. -lz
|
---|
43 | LD=$(CC) -s -o
|
---|
44 | LDSHARED=$(CC)
|
---|
45 |
|
---|
46 | INCL=zlib.h zconf.h
|
---|
47 | LIBS=libz.a
|
---|
48 |
|
---|
49 | AR=ar rcs
|
---|
50 |
|
---|
51 | prefix=/usr/local
|
---|
52 | exec_prefix = $(prefix)
|
---|
53 |
|
---|
54 | OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \
|
---|
55 | uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
|
---|
56 |
|
---|
57 | OBJA =
|
---|
58 | # to use the asm code: make OBJA=match.o
|
---|
59 |
|
---|
60 | TEST_OBJS = example.o minigzip.o
|
---|
61 |
|
---|
62 | all: example.exe minigzip.exe
|
---|
63 |
|
---|
64 | check: test
|
---|
65 | test: all
|
---|
66 | ./example
|
---|
67 | echo hello world | .\minigzip | .\minigzip -d
|
---|
68 |
|
---|
69 | %.o : %.c
|
---|
70 | $(CC) $(CFLAGS) -c $< -o $@
|
---|
71 |
|
---|
72 | libz.a: $(OBJS) $(OBJA)
|
---|
73 | $(AR) $@ $(OBJS) $(OBJA)
|
---|
74 |
|
---|
75 | %.exe : %.o $(LIBS)
|
---|
76 | $(LD) $@ $< $(LDLIBS)
|
---|
77 |
|
---|
78 | # INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
|
---|
79 |
|
---|
80 | .PHONY : uninstall clean
|
---|
81 |
|
---|
82 | install: $(INCL) $(LIBS)
|
---|
83 | -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
|
---|
84 | -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
|
---|
85 | $(INSTALL) zlib.h $(INCLUDE_PATH)
|
---|
86 | $(INSTALL) zconf.h $(INCLUDE_PATH)
|
---|
87 | $(INSTALL) libz.a $(LIBRARY_PATH)
|
---|
88 |
|
---|
89 | uninstall:
|
---|
90 | $(RM) $(INCLUDE_PATH)\zlib.h
|
---|
91 | $(RM) $(INCLUDE_PATH)\zconf.h
|
---|
92 | $(RM) $(LIBRARY_PATH)\libz.a
|
---|
93 |
|
---|
94 | clean:
|
---|
95 | $(RM) *.d
|
---|
96 | $(RM) *.o
|
---|
97 | $(RM) *.exe
|
---|
98 | $(RM) libz.a
|
---|
99 | $(RM) foo.gz
|
---|
100 |
|
---|
101 | DEPS := $(wildcard *.d)
|
---|
102 | ifneq ($(DEPS),)
|
---|
103 | include $(DEPS)
|
---|
104 | endif
|
---|