refactoring of engineoutput
[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\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\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\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 wgamelist.h defaults.h resource.h wclipbrd.h \\r
95         wedittags.h wsockerr.h woptions.h wsnap.h ../lists.h help.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 wlayout.obj: wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h\r
153         $(CC) $(CFLAGS) wlayout.c\r
154 \r
155 wsockerr.obj: wsockerr.c wsockerr.h\r
156         $(CC) $(CFLAGS) wsockerr.c\r
157 \r
158 help.obj: help.c help.h\r
159         $(CC) $(CFLAGS) help.c\r
160 \r
161 wsnap.obj: wsnap.c wsnap.h\r
162         $(CC) $(CFLAGS) wsnap.c\r
163 \r
164 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \\r
165         ../parser.h ../lists.h\r
166         $(CC) $(CFLAGS) ../pgntags.c\r
167 \r
168 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \\r
169         ../backend.h ../backendz.h ../lists.h\r
170         $(CC) $(CFLAGS) ../zippy.c\r
171 \r
172 uci.obj: ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h\r
173         $(CC) $(CFLAGS) ../uci.c\r
174 \r
175 \r
176 wsettings.obj: wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h\r
177         $(CC) $(CFLAGS) wsettings.c\r
178 \r
179 wchat.obj: wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h\r
180         $(CC) $(CFLAGS) wchat.c\r
181 \r
182 \r
183 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
184     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
185  oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\\r
186  $(PROJ).res -out:$(PROJ).exe\r
187 \r
188 \r
189 .c.obj:\r
190         $(CC) $(CFLAGS) $< \r