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