Fix multi-leg promotions
[xboard.git] / winboard / makefile.ms
1 # Command line: nmake /f makefile.ms\r
2 # Set VCVER=6 for MSVC 4.x through 7.0(aka 2002 aka .NET).\r
3 # For MSVC 8 (aka 2005) set VCVER=8.  Beyond that try 8 first.\r
4 VCVER=6\r
5 \r
6 # If using MSVC 6.0 or earlier, you will need the latest platform SDK supported.\r
7 # Set SDK_INC to the include directory after you install it.\r
8 # See: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm\r
9 #SDK_INC="C:\Program Files\Microsoft SDK\include"\r
10 \r
11 \r
12 PROJ = winboard\r
13 \r
14 \r
15 OBJS=backend.obj book.obj gamelist.obj lists.obj moves.obj pgntags.obj uci.obj\\r
16  zippy.obj parser.obj wclipbrd.obj wedittags.obj wengineoutput.obj wevalgraph.obj\\r
17  wgamelist.obj whistory.obj history.obj winboard.obj wlayout.obj woptions.obj wsnap.obj\\r
18  wsockerr.obj help.obj wsettings.obj wchat.obj engineoutput.obj evalgraph.obj\r
19 \r
20 \r
21 # Debugging?\r
22 USE_DEBUG=0\r
23 \r
24 \r
25 # JAWS support?\r
26 JAWS=0\r
27 \r
28 \r
29 CC = @cl\r
30 RC = @rc\r
31 LINK = link\r
32 HC="c:\program files\help workshop\hcrtf.exe" -xn\r
33 FLEX = "c:/mingw/mingw32/bin/flex.exe"\r
34 DEFS = -D_WIN32_IE=0x300 -DWIN32 -DWINVER=0x0500 -D_WIN32_WINDOWS=0x500 -D YY_NO_UNISTD_H\r
35 !if $(JAWS) == 1\r
36 DEFS = -DJAWS $(DEFS)\r
37 !endif\r
38 #WARN = -W3\r
39 ARCH =\r
40 \r
41 \r
42 !if $(VCVER) >= 8\r
43 CLIB= libcmt\r
44 LIBF= -MT\r
45 DEPRECATE=-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_USE_32BIT_TIME_T\r
46 !else\r
47 VSO = -Gf -Og\r
48 CLIB = msvcrt\r
49 LIBF = -MD\r
50 !endif\r
51 \r
52 \r
53 !if $(USE_DEBUG) == 0\r
54 CFDEBUG = -DNDEBUG\r
55 OPTS = -Os -Oy -Gs -GA -Zl $(VSO) $(LIBF)\r
56 LFDEBUG = $(CLIB).lib\r
57 !else\r
58 CFDEBUG = -D_DEBUG -DDEBUG\r
59 OPTS = -Od -Zi -Fd$(PROJ).pdb $(LIBF)d\r
60 LFDEBUG = -DEBUG -PDB:$(PROJ).pdb -MAP:$(PROJ).map $(CLIB)d.lib\r
61 !endif\r
62 CF = $(CFDEBUG) $(DEFS) $(DEPRECATE) -I. -I..\r
63 !if DEFINED(SDK_INC)\r
64 CF = $(CF) -I$(SDK_INC)\r
65 !endif\r
66 CFLAGS = -c -nologo $(WARN) $(CF) $(ARCH) $(OPTS)\r
67 LFLAGS = -nologo $(LFDEBUG)\r
68 \r
69 \r
70 all: $(PROJ).exe\r
71 \r
72 \r
73 clean:\r
74         -erase *~ $(PROJ).exe $(PROJ).err $(PROJ).rbj $(PROJ).res *.sbr *.bsc\\r
75         *.o *.obj *.plg *.opt *.ncb *.debug *.bak *.gid *.map *.pdb *.ini\r
76 \r
77 \r
78 # Update the help file if necessary\r
79 $(PROJ).hlp : $(PROJ).rtf\r
80         $(HC) $(PROJ).hpj\r
81         -@type $(PROJ).err\r
82         -@rename $(PROJ).hlp $(PROJ).hlp.tmp\r
83         -@rename $(PROJ).hlp.tmp $(PROJ).hlp\r
84 \r
85 \r
86 # Update the resource if necessary\r
87 $(PROJ).res: $(PROJ).rc $(PROJ).h resource.h config.h\r
88     $(RC) $(CF) -r -fo $(PROJ).res $(PROJ).rc\r
89 \r
90 winboard.obj: winboard.c config.h winboard.h ../common.h ../frontend.h \\r
91         ../backend.h ../moves.h defaults.h resource.h wclipbrd.h \\r
92         wsockerr.h woptions.h wsnap.h ../lists.h help.h ../args.h\r
93         $(CC) $(CFLAGS) winboard.c\r
94 \r
95 backend.obj: ../backend.c config.h ../common.h ../frontend.h ../backend.h \\r
96         ../parser.h ../moves.h ../zippy.h ../backendz.h ../gettext.h ../lists.h\r
97         $(CC) $(CFLAGS) ../backend.c\r
98 \r
99 parser.obj: ../parser.c config.h ../common.h ../backend.h ../parser.h \\r
100         ../frontend.h ../moves.h ../lists.h\r
101         $(CC) $(CFLAGS) ../parser.c\r
102 \r
103 book.obj: ../book.c ../common.h ../backend.h ../lists.h\r
104         $(CC) $(CFLAGS) ../book.c\r
105 \r
106 gamelist.obj: ../gamelist.c config.h ../lists.h ../common.h ../frontend.h \\r
107         ../backend.h ../parser.h\r
108         $(CC) $(CFLAGS) ../gamelist.c\r
109 \r
110 lists.obj: ../lists.c config.h ../lists.h ../common.h\r
111         $(CC) $(CFLAGS) ../lists.c\r
112 \r
113 moves.obj: ../moves.c config.h ../backend.h ../common.h ../parser.h \\r
114         ../moves.h ../lists.h\r
115         $(CC) $(CFLAGS) ../moves.c\r
116 \r
117 wclipbrd.obj: wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \\r
118         winboard.h resource.h wclipbrd.h ../lists.h\r
119         $(CC) $(CFLAGS) wclipbrd.c\r
120 \r
121 wedittags.obj: wedittags.c config.h ../common.h winboard.h resource.h ../frontend.h \\r
122         ../backend.h ../lists.h\r
123         $(CC) $(CFLAGS) wedittags.c\r
124 \r
125 wgamelist.obj: wgamelist.c config.h ../common.h winboard.h resource.h ../frontend.h \\r
126         ../backend.h ../lists.h\r
127         $(CC) $(CFLAGS) wgamelist.c\r
128 \r
129 woptions.obj: woptions.c config.h ../common.h ../frontend.h ../backend.h \\r
130         ../lists.h defaults.h winboard.h resource.h\r
131         $(CC) $(CFLAGS) woptions.c\r
132 \r
133 wengineoutput.obj: wengineoutput.c config.h ../common.h ../frontend.h ../backend.h \\r
134         ../lists.h winboard.h resource.h wsnap.h\r
135         $(CC) $(CFLAGS) wengineoutput.c\r
136 \r
137 engineoutput.obj: ../engineoutput.c ../engineoutput.h config.h ../common.h \\r
138         ../frontend.h ../backend.h ../lists.h\r
139         $(CC) $(CFLAGS) ../engineoutput.c\r
140 \r
141 whistory.obj: whistory.c config.h ../common.h ../frontend.h ../backend.h \\r
142         ../lists.h winboard.h resource.h wsnap.h\r
143         $(CC) $(CFLAGS) whistory.c\r
144 \r
145 history.obj: ../history.c config.h ../common.h ../frontend.h ../backend.h \\r
146         ../lists.h\r
147         $(CC) $(CFLAGS) ../history.c\r
148 \r
149 wevalgraph.obj: wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \\r
150         ../lists.h winboard.h resource.h wsnap.h\r
151         $(CC) $(CFLAGS) wevalgraph.c\r
152 \r
153 evalgraph.obj: ../evalgraph.c ../evalgraph.h config.h ../common.h ../frontend.h \\r
154         ../backend.h ../lists.h\r
155         $(CC) $(CFLAGS) ../evalgraph.c\r
156 \r
157 wlayout.obj: wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h\r
158         $(CC) $(CFLAGS) wlayout.c\r
159 \r
160 wsockerr.obj: wsockerr.c wsockerr.h\r
161         $(CC) $(CFLAGS) wsockerr.c\r
162 \r
163 help.obj: help.c help.h\r
164         $(CC) $(CFLAGS) help.c\r
165 \r
166 wsnap.obj: wsnap.c wsnap.h\r
167         $(CC) $(CFLAGS) wsnap.c\r
168 \r
169 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \\r
170         ../parser.h ../lists.h\r
171         $(CC) $(CFLAGS) ../pgntags.c\r
172 \r
173 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \\r
174         ../backend.h ../backendz.h ../lists.h\r
175         $(CC) $(CFLAGS) ../zippy.c\r
176 \r
177 uci.obj: ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h\r
178         $(CC) $(CFLAGS) ../uci.c\r
179 \r
180 \r
181 wsettings.obj: wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h\r
182         $(CC) $(CFLAGS) wsettings.c\r
183 \r
184 wchat.obj: wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h\r
185         $(CC) $(CFLAGS) wchat.c\r
186 \r
187 \r
188 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
189     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
190  oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\\r
191  $(PROJ).res -out:$(PROJ).exe\r
192 \r
193 \r
194 .c.obj:\r
195         $(CC) $(CFLAGS) $< \r