1 # Makefile for zlib using Microsoft (Visual) C
2 # zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler
5 # nmake -f win32/Makefile.msc (standard build)
6 # nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build)
7 # nmake -f win32/Makefile.msc LOC=-DASMV OBJA=match.obj (use ASM code)
10 # optional build flags
24 CFLAGS = -nologo -MD -O2 -Oy- $(LOC)
25 WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
27 LDFLAGS = -nologo -debug -release
31 OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzio.obj gzlib.obj gzread.obj \
32 gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
37 all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \
38 example.exe minigzip.exe example_d.exe minigzip_d.exe
40 $(STATICLIB): $(OBJS) $(OBJA)
41 $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(OBJA)
43 $(IMPLIB): $(SHAREDLIB)
45 $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res
46 $(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \
47 -out:$@ $(OBJS) $(OBJA) zlib1.res
48 if exist $@.manifest \
49 mt -nologo -manifest $@.manifest -outputresource:$@;2
51 example.exe: example.obj $(STATICLIB)
52 $(LD) $(LDFLAGS) example.obj $(STATICLIB)
53 if exist $@.manifest \
54 mt -nologo -manifest $@.manifest -outputresource:$@;1
56 minigzip.exe: minigzip.obj $(STATICLIB)
57 $(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
58 if exist $@.manifest \
59 mt -nologo -manifest $@.manifest -outputresource:$@;1
61 example_d.exe: example.obj $(IMPLIB)
62 $(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
63 if exist $@.manifest \
64 mt -nologo -manifest $@.manifest -outputresource:$@;1
66 minigzip_d.exe: minigzip.obj $(IMPLIB)
67 $(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
68 if exist $@.manifest \
69 mt -nologo -manifest $@.manifest -outputresource:$@;1
72 $(CC) -c $(WFLAGS) $(CFLAGS) $<
75 $(AS) -c $(ASFLAGS) $<
77 adler32.obj: adler32.c zlib.h zconf.h
79 compress.obj: compress.c zlib.h zconf.h
81 crc32.obj: crc32.c zlib.h zconf.h crc32.h
83 deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
85 gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h
87 gzio.obj: gzio.c zutil.h zlib.h zconf.h
89 gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h
91 gzread.obj: gzread.c zlib.h zconf.h gzguts.h
93 gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h
95 infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
98 inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
101 inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
104 inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
106 trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
108 uncompr.obj: uncompr.c zlib.h zconf.h
110 zutil.obj: zutil.c zutil.h zlib.h zconf.h
112 example.obj: example.c zlib.h zconf.h
114 minigzip.obj: minigzip.c zlib.h zconf.h
116 zlib1.res: win32/zlib1.rc
117 $(RC) $(RCFLAGS) /fo$@ win32/zlib1.rc
121 test: example.exe minigzip.exe
123 echo hello world | minigzip | minigzip -d
125 testdll: example_d.exe minigzip_d.exe
127 echo hello world | minigzip_d | minigzip_d -d