annotate src/zlib-1.2.8/win32/Makefile.gcc @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 5ea0608b923f
children
rev   line source
Chris@43 1 # Makefile for zlib, derived from Makefile.dj2.
Chris@43 2 # Modified for mingw32 by C. Spieler, 6/16/98.
Chris@43 3 # Updated for zlib 1.2.x by Christian Spieler and Cosmin Truta, Mar-2003.
Chris@43 4 # Last updated: Mar 2012.
Chris@43 5 # Tested under Cygwin and MinGW.
Chris@43 6
Chris@43 7 # Copyright (C) 1995-2003 Jean-loup Gailly.
Chris@43 8 # For conditions of distribution and use, see copyright notice in zlib.h
Chris@43 9
Chris@43 10 # To compile, or to compile and test, type from the top level zlib directory:
Chris@43 11 #
Chris@43 12 # make -fwin32/Makefile.gcc; make test testdll -fwin32/Makefile.gcc
Chris@43 13 #
Chris@43 14 # To use the asm code, type:
Chris@43 15 # cp contrib/asm?86/match.S ./match.S
Chris@43 16 # make LOC=-DASMV OBJA=match.o -fwin32/Makefile.gcc
Chris@43 17 #
Chris@43 18 # To install libz.a, zconf.h and zlib.h in the system directories, type:
Chris@43 19 #
Chris@43 20 # make install -fwin32/Makefile.gcc
Chris@43 21 #
Chris@43 22 # BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set.
Chris@43 23 #
Chris@43 24 # To install the shared lib, append SHARED_MODE=1 to the make command :
Chris@43 25 #
Chris@43 26 # make install -fwin32/Makefile.gcc SHARED_MODE=1
Chris@43 27
Chris@43 28 # Note:
Chris@43 29 # If the platform is *not* MinGW (e.g. it is Cygwin or UWIN),
Chris@43 30 # the DLL name should be changed from "zlib1.dll".
Chris@43 31
Chris@43 32 STATICLIB = libz.a
Chris@43 33 SHAREDLIB = zlib1.dll
Chris@43 34 IMPLIB = libz.dll.a
Chris@43 35
Chris@43 36 #
Chris@43 37 # Set to 1 if shared object needs to be installed
Chris@43 38 #
Chris@43 39 SHARED_MODE=0
Chris@43 40
Chris@43 41 #LOC = -DASMV
Chris@43 42 #LOC = -DDEBUG -g
Chris@43 43
Chris@43 44 PREFIX =
Chris@43 45 CC = $(PREFIX)gcc
Chris@43 46 CFLAGS = $(LOC) -O3 -Wall
Chris@43 47
Chris@43 48 AS = $(CC)
Chris@43 49 ASFLAGS = $(LOC) -Wall
Chris@43 50
Chris@43 51 LD = $(CC)
Chris@43 52 LDFLAGS = $(LOC)
Chris@43 53
Chris@43 54 AR = $(PREFIX)ar
Chris@43 55 ARFLAGS = rcs
Chris@43 56
Chris@43 57 RC = $(PREFIX)windres
Chris@43 58 RCFLAGS = --define GCC_WINDRES
Chris@43 59
Chris@43 60 STRIP = $(PREFIX)strip
Chris@43 61
Chris@43 62 CP = cp -fp
Chris@43 63 # If GNU install is available, replace $(CP) with install.
Chris@43 64 INSTALL = $(CP)
Chris@43 65 RM = rm -f
Chris@43 66
Chris@43 67 prefix ?= /usr/local
Chris@43 68 exec_prefix = $(prefix)
Chris@43 69
Chris@43 70 OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \
Chris@43 71 gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o
Chris@43 72 OBJA =
Chris@43 73
Chris@43 74 all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) example.exe minigzip.exe example_d.exe minigzip_d.exe
Chris@43 75
Chris@43 76 test: example.exe minigzip.exe
Chris@43 77 ./example
Chris@43 78 echo hello world | ./minigzip | ./minigzip -d
Chris@43 79
Chris@43 80 testdll: example_d.exe minigzip_d.exe
Chris@43 81 ./example_d
Chris@43 82 echo hello world | ./minigzip_d | ./minigzip_d -d
Chris@43 83
Chris@43 84 .c.o:
Chris@43 85 $(CC) $(CFLAGS) -c -o $@ $<
Chris@43 86
Chris@43 87 .S.o:
Chris@43 88 $(AS) $(ASFLAGS) -c -o $@ $<
Chris@43 89
Chris@43 90 $(STATICLIB): $(OBJS) $(OBJA)
Chris@43 91 $(AR) $(ARFLAGS) $@ $(OBJS) $(OBJA)
Chris@43 92
Chris@43 93 $(IMPLIB): $(SHAREDLIB)
Chris@43 94
Chris@43 95 $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
Chris@43 96 $(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \
Chris@43 97 -o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o
Chris@43 98 $(STRIP) $@
Chris@43 99
Chris@43 100 example.exe: example.o $(STATICLIB)
Chris@43 101 $(LD) $(LDFLAGS) -o $@ example.o $(STATICLIB)
Chris@43 102 $(STRIP) $@
Chris@43 103
Chris@43 104 minigzip.exe: minigzip.o $(STATICLIB)
Chris@43 105 $(LD) $(LDFLAGS) -o $@ minigzip.o $(STATICLIB)
Chris@43 106 $(STRIP) $@
Chris@43 107
Chris@43 108 example_d.exe: example.o $(IMPLIB)
Chris@43 109 $(LD) $(LDFLAGS) -o $@ example.o $(IMPLIB)
Chris@43 110 $(STRIP) $@
Chris@43 111
Chris@43 112 minigzip_d.exe: minigzip.o $(IMPLIB)
Chris@43 113 $(LD) $(LDFLAGS) -o $@ minigzip.o $(IMPLIB)
Chris@43 114 $(STRIP) $@
Chris@43 115
Chris@43 116 example.o: test/example.c zlib.h zconf.h
Chris@43 117 $(CC) $(CFLAGS) -I. -c -o $@ test/example.c
Chris@43 118
Chris@43 119 minigzip.o: test/minigzip.c zlib.h zconf.h
Chris@43 120 $(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c
Chris@43 121
Chris@43 122 zlibrc.o: win32/zlib1.rc
Chris@43 123 $(RC) $(RCFLAGS) -o $@ win32/zlib1.rc
Chris@43 124
Chris@43 125 .PHONY: install uninstall clean
Chris@43 126
Chris@43 127 install: zlib.h zconf.h $(STATICLIB) $(IMPLIB)
Chris@43 128 @if test -z "$(DESTDIR)$(INCLUDE_PATH)" -o -z "$(DESTDIR)$(LIBRARY_PATH)" -o -z "$(DESTDIR)$(BINARY_PATH)"; then \
Chris@43 129 echo INCLUDE_PATH, LIBRARY_PATH, and BINARY_PATH must be specified; \
Chris@43 130 exit 1; \
Chris@43 131 fi
Chris@43 132 -@mkdir -p '$(DESTDIR)$(INCLUDE_PATH)'
Chris@43 133 -@mkdir -p '$(DESTDIR)$(LIBRARY_PATH)' '$(DESTDIR)$(LIBRARY_PATH)'/pkgconfig
Chris@43 134 -if [ "$(SHARED_MODE)" = "1" ]; then \
Chris@43 135 mkdir -p '$(DESTDIR)$(BINARY_PATH)'; \
Chris@43 136 $(INSTALL) $(SHAREDLIB) '$(DESTDIR)$(BINARY_PATH)'; \
Chris@43 137 $(INSTALL) $(IMPLIB) '$(DESTDIR)$(LIBRARY_PATH)'; \
Chris@43 138 fi
Chris@43 139 -$(INSTALL) zlib.h '$(DESTDIR)$(INCLUDE_PATH)'
Chris@43 140 -$(INSTALL) zconf.h '$(DESTDIR)$(INCLUDE_PATH)'
Chris@43 141 -$(INSTALL) $(STATICLIB) '$(DESTDIR)$(LIBRARY_PATH)'
Chris@43 142 sed \
Chris@43 143 -e 's|@prefix@|${prefix}|g' \
Chris@43 144 -e 's|@exec_prefix@|${exec_prefix}|g' \
Chris@43 145 -e 's|@libdir@|$(LIBRARY_PATH)|g' \
Chris@43 146 -e 's|@sharedlibdir@|$(LIBRARY_PATH)|g' \
Chris@43 147 -e 's|@includedir@|$(INCLUDE_PATH)|g' \
Chris@43 148 -e 's|@VERSION@|'`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' zlib.h`'|g' \
Chris@43 149 zlib.pc.in > '$(DESTDIR)$(LIBRARY_PATH)'/pkgconfig/zlib.pc
Chris@43 150
Chris@43 151 uninstall:
Chris@43 152 -if [ "$(SHARED_MODE)" = "1" ]; then \
Chris@43 153 $(RM) '$(DESTDIR)$(BINARY_PATH)'/$(SHAREDLIB); \
Chris@43 154 $(RM) '$(DESTDIR)$(LIBRARY_PATH)'/$(IMPLIB); \
Chris@43 155 fi
Chris@43 156 -$(RM) '$(DESTDIR)$(INCLUDE_PATH)'/zlib.h
Chris@43 157 -$(RM) '$(DESTDIR)$(INCLUDE_PATH)'/zconf.h
Chris@43 158 -$(RM) '$(DESTDIR)$(LIBRARY_PATH)'/$(STATICLIB)
Chris@43 159
Chris@43 160 clean:
Chris@43 161 -$(RM) $(STATICLIB)
Chris@43 162 -$(RM) $(SHAREDLIB)
Chris@43 163 -$(RM) $(IMPLIB)
Chris@43 164 -$(RM) *.o
Chris@43 165 -$(RM) *.exe
Chris@43 166 -$(RM) foo.gz
Chris@43 167
Chris@43 168 adler32.o: zlib.h zconf.h
Chris@43 169 compress.o: zlib.h zconf.h
Chris@43 170 crc32.o: crc32.h zlib.h zconf.h
Chris@43 171 deflate.o: deflate.h zutil.h zlib.h zconf.h
Chris@43 172 gzclose.o: zlib.h zconf.h gzguts.h
Chris@43 173 gzlib.o: zlib.h zconf.h gzguts.h
Chris@43 174 gzread.o: zlib.h zconf.h gzguts.h
Chris@43 175 gzwrite.o: zlib.h zconf.h gzguts.h
Chris@43 176 inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
Chris@43 177 inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
Chris@43 178 infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h
Chris@43 179 inftrees.o: zutil.h zlib.h zconf.h inftrees.h
Chris@43 180 trees.o: deflate.h zutil.h zlib.h zconf.h trees.h
Chris@43 181 uncompr.o: zlib.h zconf.h
Chris@43 182 zutil.o: zutil.h zlib.h zconf.h