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 -DDEBUG |
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 |