Merge gamelistopt sources into gamelist source files
[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 ../parser.c: ../parser.l\r
91     $(FLEX) -o../parser.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 history.obj: ../history.c config.h ../common.h ../frontend.h ../backend.h \\r
149         ../lists.h\r
150         $(CC) $(CFLAGS) whistory.c\r
151 \r
152 wevalgraph.obj: wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \\r
153         ../lists.h winboard.h resource.h wsnap.h\r
154         $(CC) $(CFLAGS) wevalgraph.c\r
155 \r
156 evalgraph.obj: ../evalgraph.c ../evalgraph.h config.h ../common.h ../frontend.h \\r
157         ../backend.h ../lists.h\r
158         $(CC) $(CFLAGS) ../evalgraph.c\r
159 \r
160 wlayout.obj: wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h\r
161         $(CC) $(CFLAGS) wlayout.c\r
162 \r
163 wsockerr.obj: wsockerr.c wsockerr.h\r
164         $(CC) $(CFLAGS) wsockerr.c\r
165 \r
166 help.obj: help.c help.h\r
167         $(CC) $(CFLAGS) help.c\r
168 \r
169 wsnap.obj: wsnap.c wsnap.h\r
170         $(CC) $(CFLAGS) wsnap.c\r
171 \r
172 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \\r
173         ../parser.h ../lists.h\r
174         $(CC) $(CFLAGS) ../pgntags.c\r
175 \r
176 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \\r
177         ../backend.h ../backendz.h ../lists.h\r
178         $(CC) $(CFLAGS) ../zippy.c\r
179 \r
180 uci.obj: ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h\r
181         $(CC) $(CFLAGS) ../uci.c\r
182 \r
183 \r
184 wsettings.obj: wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h\r
185         $(CC) $(CFLAGS) wsettings.c\r
186 \r
187 wchat.obj: wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h\r
188         $(CC) $(CFLAGS) wchat.c\r
189 \r
190 \r
191 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
192     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
193  oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\\r
194  $(PROJ).res -out:$(PROJ).exe\r
195 \r
196 \r
197 .c.obj:\r
198         $(CC) $(CFLAGS) $< \r