Changes needed to compile master branch.
[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 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 parser.c: ../parser.l\r
91     $(FLEX) -oparser.c -L ../parser.l\r
92 \r
93 winboard.obj: winboard.c config.h winboard.h ../common.h ../frontend.h \\r
94         ../backend.h ../moves.h defaults.h resource.h wclipbrd.h \\r
95         wsockerr.h woptions.h wsnap.h ../lists.h help.h ../args.h\r
96         $(CC) $(CFLAGS) winboard.c\r
97 \r
98 backend.obj: ../backend.c config.h ../common.h ../frontend.h ../backend.h \\r
99         ../parser.h ../moves.h ../zippy.h ../backendz.h ../gettext.h ../lists.h\r
100         $(CC) $(CFLAGS) ../backend.c\r
101 \r
102 parser.obj: parser.c config.h ../common.h ../backend.h ../parser.h \\r
103         ../frontend.h ../moves.h ../lists.h\r
104         $(CC) $(CFLAGS) parser.c\r
105 \r
106 book.obj: ../book.c ../common.h ../backend.h ../lists.h\r
107         $(CC) $(CFLAGS) ../book.c\r
108 \r
109 gamelist.obj: ../gamelist.c config.h ../lists.h ../common.h ../frontend.h \\r
110         ../backend.h ../parser.h\r
111         $(CC) $(CFLAGS) ../gamelist.c\r
112 \r
113 lists.obj: ../lists.c config.h ../lists.h ../common.h\r
114         $(CC) $(CFLAGS) ../lists.c\r
115 \r
116 moves.obj: ../moves.c config.h ../backend.h ../common.h ../parser.h \\r
117         ../moves.h ../lists.h\r
118         $(CC) $(CFLAGS) ../moves.c\r
119 \r
120 wclipbrd.obj: wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \\r
121         winboard.h resource.h wclipbrd.h ../lists.h\r
122         $(CC) $(CFLAGS) wclipbrd.c\r
123 \r
124 wedittags.obj: wedittags.c config.h ../common.h winboard.h resource.h ../frontend.h \\r
125         ../backend.h ../lists.h\r
126         $(CC) $(CFLAGS) wedittags.c\r
127 \r
128 wgamelist.obj: wgamelist.c config.h. ../common.h winboard.h resource.h ../frontend.h \\r
129         ../backend.h ../lists.h\r
130         $(CC) $(CFLAGS) wgamelist.c\r
131 \r
132 woptions.obj: woptions.c config.h ../common.h ../frontend.h ../backend.h \\r
133         ../lists.h defaults.h winboard.h resource.h\r
134         $(CC) $(CFLAGS) woptions.c\r
135 \r
136 wengineoutput.obj: wengineoutput.c config.h ../common.h ../frontend.h ../backend.h \\r
137         ../lists.h winboard.h resource.h wsnap.h\r
138         $(CC) $(CFLAGS) wengineoutput.c\r
139 \r
140 engineoutput.obj: ../engineoutput.c ../engineoutput.h config.h ../common.h \\r
141         ../frontend.h ../backend.h ../lists.h\r
142         $(CC) $(CFLAGS) ../engineoutput.c\r
143 \r
144 whistory.obj: whistory.c config.h ../common.h ../frontend.h ../backend.h \\r
145         ../lists.h winboard.h resource.h wsnap.h\r
146         $(CC) $(CFLAGS) whistory.c\r
147 \r
148 wevalgraph.obj: wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \\r
149         ../lists.h winboard.h resource.h wsnap.h\r
150         $(CC) $(CFLAGS) wevalgraph.c\r
151 \r
152 evalgraph.obj: ../evalgraph.c ../evalgraph.h config.h ../common.h ../frontend.h \\r
153         ../backend.h ../lists.h\r
154         $(CC) $(CFLAGS) ../evalgraph.c\r
155 \r
156 wlayout.obj: wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h\r
157         $(CC) $(CFLAGS) wlayout.c\r
158 \r
159 wsockerr.obj: wsockerr.c wsockerr.h\r
160         $(CC) $(CFLAGS) wsockerr.c\r
161 \r
162 help.obj: help.c help.h\r
163         $(CC) $(CFLAGS) help.c\r
164 \r
165 wsnap.obj: wsnap.c wsnap.h\r
166         $(CC) $(CFLAGS) wsnap.c\r
167 \r
168 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \\r
169         ../parser.h ../lists.h\r
170         $(CC) $(CFLAGS) ../pgntags.c\r
171 \r
172 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \\r
173         ../backend.h ../backendz.h ../lists.h\r
174         $(CC) $(CFLAGS) ../zippy.c\r
175 \r
176 uci.obj: ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h\r
177         $(CC) $(CFLAGS) ../uci.c\r
178 \r
179 \r
180 wsettings.obj: wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h\r
181         $(CC) $(CFLAGS) wsettings.c\r
182 \r
183 wchat.obj: wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h\r
184         $(CC) $(CFLAGS) wchat.c\r
185 \r
186 \r
187 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
188     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
189  oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\\r
190  $(PROJ).res -out:$(PROJ).exe\r
191 \r
192 \r
193 .c.obj:\r
194         $(CC) $(CFLAGS) $< \r