This commit was generated by cvs2svn to compensate for changes in r36, which
[alioth/cvs.git] / zlib / win32 / Makefile.msc
1 # Makefile for zlib -- Microsoft (Visual) C
2 #
3 # Authors:
4 #   Cosmin Truta, 11-Mar-2003
5 #   Christian Spieler, 19-Mar-2003
6 #
7 # Last updated:
8 #   Cosmin Truta, 27-Aug-2003
9 #
10 # Usage:
11 #   nmake -f win32/Makefile.msc            (standard build)
12 #   nmake -f win32/Makefile.msc LOC=-DFOO  (nonstandard build)
13 #   nmake -f win32/Makefile.msc LOC=-DASMV OBJA=match.obj  (use ASM code)
14
15
16 # optional build flags
17 LOC =
18
19
20 # variables
21 STATICLIB = zlib.lib
22 SHAREDLIB = zlib1.dll
23 IMPLIB    = zdll.lib
24
25 CC = cl
26 AS = ml
27 LD = link
28 AR = lib
29 RC = rc
30 CFLAGS  = -nologo -MD -O2 $(LOC)
31 ASFLAGS = -coff
32 LDFLAGS = -nologo -release
33 ARFLAGS = -nologo
34 RCFLAGS = /dWIN32 /r
35
36 OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzio.obj infback.obj \
37        inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
38 OBJA =
39
40
41 # targets
42 all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \
43      example.exe minigzip.exe example_d.exe minigzip_d.exe
44
45 $(STATICLIB): $(OBJS) $(OBJA)
46         $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(OBJA)
47
48 $(IMPLIB): $(SHAREDLIB)
49
50 $(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res
51         $(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \
52           -out:$@ $(OBJS) $(OBJA) zlib1.res
53
54 example.exe: example.obj $(STATICLIB)
55         $(LD) $(LDFLAGS) example.obj $(STATICLIB)
56
57 minigzip.exe: minigzip.obj $(STATICLIB)
58         $(LD) $(LDFLAGS) minigzip.obj $(STATICLIB)
59
60 example_d.exe: example.obj $(IMPLIB)
61         $(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB)
62
63 minigzip_d.exe: minigzip.obj $(IMPLIB)
64         $(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB)
65
66 .c.obj:
67         $(CC) -c $(CFLAGS) $<
68
69 .asm.obj:
70         $(AS) -c $(ASFLAGS) $<
71
72 adler32.obj: adler32.c zlib.h zconf.h
73
74 compress.obj: compress.c zlib.h zconf.h
75
76 crc32.obj: crc32.c zlib.h zconf.h crc32.h
77
78 deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
79
80 gzio.obj: gzio.c zutil.h zlib.h zconf.h
81
82 infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
83              inffast.h inffixed.h
84
85 inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
86              inffast.h
87
88 inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
89              inffast.h inffixed.h
90
91 inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
92
93 trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
94
95 uncompr.obj: uncompr.c zlib.h zconf.h
96
97 zutil.obj: zutil.c zutil.h zlib.h zconf.h
98
99 example.obj: example.c zlib.h zconf.h
100
101 minigzip.obj: minigzip.c zlib.h zconf.h
102
103 zlib1.res: win32/zlib1.rc
104         $(RC) $(RCFLAGS) /fo$@ win32/zlib1.rc
105
106
107 # testing
108 test: example.exe minigzip.exe
109         example
110         echo hello world | minigzip | minigzip -d
111
112 testdll: example_d.exe minigzip_d.exe
113         example_d
114         echo hello world | minigzip_d | minigzip_d -d
115
116
117 # cleanup
118 clean:
119         -del $(STATICLIB)
120         -del $(SHAREDLIB)
121         -del $(IMPLIB)
122         -del *.obj
123         -del *.res
124         -del *.exp
125         -del *.exe
126         -del foo.gz