Home | History | Annotate | Download | only in msdos
      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
    105