Commit | Line | Data |
---|---|---|
5ca28f79 L |
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 |