annotate src/zlib-1.2.8/win32/Makefile.msc @ 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 using Microsoft (Visual) C
Chris@43 2 # zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler
Chris@43 3 #
Chris@43 4 # Usage:
Chris@43 5 # nmake -f win32/Makefile.msc (standard build)
Chris@43 6 # nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build)
Chris@43 7 # nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" \
Chris@43 8 # OBJA="inffas32.obj match686.obj" (use ASM code, x86)
Chris@43 9 # nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." \
Chris@43 10 # OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" (use ASM code, x64)
Chris@43 11
Chris@43 12 # The toplevel directory of the source tree.
Chris@43 13 #
Chris@43 14 TOP = .
Chris@43 15
Chris@43 16 # optional build flags
Chris@43 17 LOC =
Chris@43 18
Chris@43 19 # variables
Chris@43 20 STATICLIB = zlib.lib
Chris@43 21 SHAREDLIB = zlib1.dll
Chris@43 22 IMPLIB = zdll.lib
Chris@43 23
Chris@43 24 CC = cl
Chris@43 25 AS = ml
Chris@43 26 LD = link
Chris@43 27 AR = lib
Chris@43 28 RC = rc
Chris@43 29 CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)
Chris@43 30 WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
Chris@43 31 ASFLAGS = -coff -Zi $(LOC)
Chris@43 32 LDFLAGS = -nologo -debug -incremental:no -opt:ref
Chris@43 33 ARFLAGS = -nologo
Chris@43 34 RCFLAGS = /dWIN32 /r
Chris@43 35
Chris@43 36 OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj \
Chris@43 37 gzwrite.obj infback.obj inflate.obj inftrees.obj inffast.obj trees.obj uncompr.obj zutil.obj
Chris@43 38 OBJA =
Chris@43 39
Chris@43 40
Chris@43 41 # targets
Chris@43 42 all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \
Chris@43 43 example.exe minigzip.exe example_d.exe minigzip_d.exe
Chris@43 44
Chris@43 45 $(STATICLIB): $(OBJS) $(OBJA)
Chris@43 46 $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(OBJA)
Chris@43 47
Chris@43 48 $(IMPLIB): $(SHAREDLIB)
Chris@43 49
Chris@43 50 $(SHAREDLIB): $(TOP)/win32/zlib.def $(OBJS) $(OBJA) zlib1.res
Chris@43 51 $(LD) $(LDFLAGS) -def:$(TOP)/win32/zlib.def -dll -implib:$(IMPLIB) \
Chris@43 52 -out:$@ -base:0x5A4C0000 $(OBJS) $(OBJA) zlib1.res
Chris@43 53 if exist $@.manifest \
Chris@43 54 mt -nologo -manifest $@.manifest -outputresource:$@;2
Chris@43 55
Chris@43 56 example.exe: example.obj $(STATICLIB)
Chris@43 57 $(LD) $(LDFLAGS) example.obj $(STATICLIB)
Chris@43 58 if exist $@.manifest \
Chris@43 59 mt -nologo -manifest $@.manifest -outputresource:$@;1
Chris@43 60
Chris@43 61 minigzip.exe: minigzip.obj $(STATICLIB)
Chris@43 62 $(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
Chris@43 63 if exist $@.manifest \
Chris@43 64 mt -nologo -manifest $@.manifest -outputresource:$@;1
Chris@43 65
Chris@43 66 example_d.exe: example.obj $(IMPLIB)
Chris@43 67 $(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
Chris@43 68 if exist $@.manifest \
Chris@43 69 mt -nologo -manifest $@.manifest -outputresource:$@;1
Chris@43 70
Chris@43 71 minigzip_d.exe: minigzip.obj $(IMPLIB)
Chris@43 72 $(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
Chris@43 73 if exist $@.manifest \
Chris@43 74 mt -nologo -manifest $@.manifest -outputresource:$@;1
Chris@43 75
Chris@43 76 {$(TOP)}.c.obj:
Chris@43 77 $(CC) -c $(WFLAGS) $(CFLAGS) $<
Chris@43 78
Chris@43 79 {$(TOP)/test}.c.obj:
Chris@43 80 $(CC) -c -I$(TOP) $(WFLAGS) $(CFLAGS) $<
Chris@43 81
Chris@43 82 {$(TOP)/contrib/masmx64}.c.obj:
Chris@43 83 $(CC) -c $(WFLAGS) $(CFLAGS) $<
Chris@43 84
Chris@43 85 {$(TOP)/contrib/masmx64}.asm.obj:
Chris@43 86 $(AS) -c $(ASFLAGS) $<
Chris@43 87
Chris@43 88 {$(TOP)/contrib/masmx86}.asm.obj:
Chris@43 89 $(AS) -c $(ASFLAGS) $<
Chris@43 90
Chris@43 91 adler32.obj: $(TOP)/adler32.c $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 92
Chris@43 93 compress.obj: $(TOP)/compress.c $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 94
Chris@43 95 crc32.obj: $(TOP)/crc32.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/crc32.h
Chris@43 96
Chris@43 97 deflate.obj: $(TOP)/deflate.c $(TOP)/deflate.h $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 98
Chris@43 99 gzclose.obj: $(TOP)/gzclose.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
Chris@43 100
Chris@43 101 gzlib.obj: $(TOP)/gzlib.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
Chris@43 102
Chris@43 103 gzread.obj: $(TOP)/gzread.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
Chris@43 104
Chris@43 105 gzwrite.obj: $(TOP)/gzwrite.c $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/gzguts.h
Chris@43 106
Chris@43 107 infback.obj: $(TOP)/infback.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h $(TOP)/inflate.h \
Chris@43 108 $(TOP)/inffast.h $(TOP)/inffixed.h
Chris@43 109
Chris@43 110 inffast.obj: $(TOP)/inffast.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h $(TOP)/inflate.h \
Chris@43 111 $(TOP)/inffast.h
Chris@43 112
Chris@43 113 inflate.obj: $(TOP)/inflate.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h $(TOP)/inflate.h \
Chris@43 114 $(TOP)/inffast.h $(TOP)/inffixed.h
Chris@43 115
Chris@43 116 inftrees.obj: $(TOP)/inftrees.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/inftrees.h
Chris@43 117
Chris@43 118 trees.obj: $(TOP)/trees.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h $(TOP)/deflate.h $(TOP)/trees.h
Chris@43 119
Chris@43 120 uncompr.obj: $(TOP)/uncompr.c $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 121
Chris@43 122 zutil.obj: $(TOP)/zutil.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 123
Chris@43 124 gvmat64.obj: $(TOP)/contrib\masmx64\gvmat64.asm
Chris@43 125
Chris@43 126 inffasx64.obj: $(TOP)/contrib\masmx64\inffasx64.asm
Chris@43 127
Chris@43 128 inffas8664.obj: $(TOP)/contrib\masmx64\inffas8664.c $(TOP)/zutil.h $(TOP)/zlib.h $(TOP)/zconf.h \
Chris@43 129 $(TOP)/inftrees.h $(TOP)/inflate.h $(TOP)/inffast.h
Chris@43 130
Chris@43 131 inffas32.obj: $(TOP)/contrib\masmx86\inffas32.asm
Chris@43 132
Chris@43 133 match686.obj: $(TOP)/contrib\masmx86\match686.asm
Chris@43 134
Chris@43 135 example.obj: $(TOP)/test/example.c $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 136
Chris@43 137 minigzip.obj: $(TOP)/test/minigzip.c $(TOP)/zlib.h $(TOP)/zconf.h
Chris@43 138
Chris@43 139 zlib1.res: $(TOP)/win32/zlib1.rc
Chris@43 140 $(RC) $(RCFLAGS) /fo$@ $(TOP)/win32/zlib1.rc
Chris@43 141
Chris@43 142 # testing
Chris@43 143 test: example.exe minigzip.exe
Chris@43 144 example
Chris@43 145 echo hello world | minigzip | minigzip -d
Chris@43 146
Chris@43 147 testdll: example_d.exe minigzip_d.exe
Chris@43 148 example_d
Chris@43 149 echo hello world | minigzip_d | minigzip_d -d
Chris@43 150
Chris@43 151
Chris@43 152 # cleanup
Chris@43 153 clean:
Chris@43 154 -del $(STATICLIB)
Chris@43 155 -del $(SHAREDLIB)
Chris@43 156 -del $(IMPLIB)
Chris@43 157 -del *.obj
Chris@43 158 -del *.res
Chris@43 159 -del *.exp
Chris@43 160 -del *.exe
Chris@43 161 -del *.pdb
Chris@43 162 -del *.manifest
Chris@43 163 -del foo.gz