105 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			105 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
								 | 
							
								# Makefile for zlib.  Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96.
							 | 
						||
| 
								 | 
							
								# Copyright (C) 1995-1998 Jean-loup Gailly.
							 | 
						||
| 
								 | 
							
								# For conditions of distribution and use, see copyright notice in zlib.h
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# To compile, or to compile and test, type:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#   make -fmakefile.dj2;  make test -fmakefile.dj2
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# To install libz.a, zconf.h and zlib.h in the djgpp directories, type:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#    make install -fmakefile.dj2
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as
							 | 
						||
| 
								 | 
							
								# in the sample below if the pattern of the DJGPP distribution is to
							 | 
						||
| 
								 | 
							
								# be followed.  Remember that, while <sp>'es around <=> are ignored in
							 | 
						||
| 
								 | 
							
								# makefiles, they are *not* in batch files or in djgpp.env.
							 | 
						||
| 
								 | 
							
								# - - - - -
							 | 
						||
| 
								 | 
							
								# [make]
							 | 
						||
| 
								 | 
							
								# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include
							 | 
						||
| 
								 | 
							
								# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib
							 | 
						||
| 
								 | 
							
								# BUTT=-m486
							 | 
						||
| 
								 | 
							
								# - - - - -
							 | 
						||
| 
								 | 
							
								# Alternately, these variables may be defined below, overriding the values
							 | 
						||
| 
								 | 
							
								# in djgpp.env, as
							 | 
						||
| 
								 | 
							
								# INCLUDE_PATH=c:\usr\include
							 | 
						||
| 
								 | 
							
								# LIBRARY_PATH=c:\usr\lib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								CC=gcc
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#CFLAGS=-MMD -O
							 | 
						||
| 
								 | 
							
								#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
							 | 
						||
| 
								 | 
							
								#CFLAGS=-MMD -g -DZLIB_DEBUG
							 | 
						||
| 
								 | 
							
								CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
							 | 
						||
| 
								 | 
							
								             -Wstrict-prototypes -Wmissing-prototypes
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# If cp.exe is available, replace "copy /Y" with "cp -fp" .
							 | 
						||
| 
								 | 
							
								CP=copy /Y
							 | 
						||
| 
								 | 
							
								# If gnu install.exe is available, replace $(CP) with ginstall.
							 | 
						||
| 
								 | 
							
								INSTALL=$(CP)
							 | 
						||
| 
								 | 
							
								# The default value of RM is "rm -f."  If "rm.exe" is found, comment out:
							 | 
						||
| 
								 | 
							
								RM=del
							 | 
						||
| 
								 | 
							
								LDLIBS=-L. -lz
							 | 
						||
| 
								 | 
							
								LD=$(CC) -s -o
							 | 
						||
| 
								 | 
							
								LDSHARED=$(CC)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								INCL=zlib.h zconf.h
							 | 
						||
| 
								 | 
							
								LIBS=libz.a
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								AR=ar rcs
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								prefix=/usr/local
							 | 
						||
| 
								 | 
							
								exec_prefix = $(prefix)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \
							 | 
						||
| 
								 | 
							
								       uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OBJA =
							 | 
						||
| 
								 | 
							
								# to use the asm code: make OBJA=match.o
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TEST_OBJS = example.o minigzip.o
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								all: example.exe minigzip.exe
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								check: test
							 | 
						||
| 
								 | 
							
								test: all
							 | 
						||
| 
								 | 
							
									./example
							 | 
						||
| 
								 | 
							
									echo hello world | .\minigzip | .\minigzip -d
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.o : %.c
							 | 
						||
| 
								 | 
							
									$(CC) $(CFLAGS) -c $< -o $@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								libz.a: $(OBJS) $(OBJA)
							 | 
						||
| 
								 | 
							
									$(AR) $@ $(OBJS) $(OBJA)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%.exe : %.o $(LIBS)
							 | 
						||
| 
								 | 
							
									$(LD) $@ $< $(LDLIBS)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								.PHONY : uninstall clean
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								install: $(INCL) $(LIBS)
							 | 
						||
| 
								 | 
							
									-@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH)
							 | 
						||
| 
								 | 
							
									-@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH)
							 | 
						||
| 
								 | 
							
									$(INSTALL) zlib.h $(INCLUDE_PATH)
							 | 
						||
| 
								 | 
							
									$(INSTALL) zconf.h $(INCLUDE_PATH)
							 | 
						||
| 
								 | 
							
									$(INSTALL) libz.a $(LIBRARY_PATH)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								uninstall:
							 | 
						||
| 
								 | 
							
									$(RM) $(INCLUDE_PATH)\zlib.h
							 | 
						||
| 
								 | 
							
									$(RM) $(INCLUDE_PATH)\zconf.h
							 | 
						||
| 
								 | 
							
									$(RM) $(LIBRARY_PATH)\libz.a
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean:
							 | 
						||
| 
								 | 
							
									$(RM) *.d
							 | 
						||
| 
								 | 
							
									$(RM) *.o
							 | 
						||
| 
								 | 
							
									$(RM) *.exe
							 | 
						||
| 
								 | 
							
									$(RM) libz.a
							 | 
						||
| 
								 | 
							
									$(RM) foo.gz
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DEPS := $(wildcard *.d)
							 | 
						||
| 
								 | 
							
								ifneq ($(DEPS),)
							 | 
						||
| 
								 | 
							
								include $(DEPS)
							 | 
						||
| 
								 | 
							
								endif
							 |