fb3e790eb4b6ae4010cfa916af91bd32aab35a5f
[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 gamelistopt.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 gamelistopt.obj: ../gamelistopt.c config.h ../lists.h ../common.h ../frontend.h \\r
114         ../backend.h\r
115         $(CC) $(CFLAGS) ../gamelistopt.c\r
116 \r
117 lists.obj: ../lists.c config.h ../lists.h ../common.h\r
118         $(CC) $(CFLAGS) ../lists.c\r
119 \r
120 moves.obj: ../moves.c config.h ../backend.h ../common.h ../parser.h \\r
121         ../moves.h ../lists.h\r
122         $(CC) $(CFLAGS) ../moves.c\r
123 \r
124 wclipbrd.obj: wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \\r
125         winboard.h resource.h wclipbrd.h ../lists.h\r
126         $(CC) $(CFLAGS) wclipbrd.c\r
127 \r
128 wedittags.obj: wedittags.c config.h ../common.h winboard.h resource.h ../frontend.h \\r
129         ../backend.h ../lists.h\r
130         $(CC) $(CFLAGS) wedittags.c\r
131 \r
132 wgamelist.obj: wgamelist.c config.h. ../common.h winboard.h resource.h ../frontend.h \\r
133         ../backend.h ../lists.h\r
134         $(CC) $(CFLAGS) wgamelist.c\r
135 \r
136 woptions.obj: woptions.c config.h ../common.h ../frontend.h ../backend.h \\r
137         ../lists.h defaults.h winboard.h resource.h\r
138         $(CC) $(CFLAGS) woptions.c\r
139 \r
140 wengineoutput.obj: wengineoutput.c config.h ../common.h ../frontend.h ../backend.h \\r
141         ../lists.h winboard.h resource.h wsnap.h\r
142         $(CC) $(CFLAGS) wengineoutput.c\r
143 \r
144 engineoutput.obj: ../engineoutput.c ../engineoutput.h config.h ../common.h \\r
145         ../frontend.h ../backend.h ../lists.h\r
146         $(CC) $(CFLAGS) ../engineoutput.c\r
147 \r
148 whistory.obj: whistory.c config.h ../common.h ../frontend.h ../backend.h \\r
149         ../lists.h winboard.h resource.h wsnap.h\r
150         $(CC) $(CFLAGS) whistory.c\r
151 \r
152 history.obj: ../history.c config.h ../common.h ../frontend.h ../backend.h \\r
153         ../lists.h\r
154         $(CC) $(CFLAGS) whistory.c\r
155 \r
156 wevalgraph.obj: wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \\r
157         ../lists.h winboard.h resource.h wsnap.h\r
158         $(CC) $(CFLAGS) wevalgraph.c\r
159 \r
160 evalgraph.obj: ../evalgraph.c ../evalgraph.h config.h ../common.h ../frontend.h \\r
161         ../backend.h ../lists.h\r
162         $(CC) $(CFLAGS) ../evalgraph.c\r
163 \r
164 wlayout.obj: wlayout.c config.h ../common.h ../frontend.h winboard.h resource.h\r
165         $(CC) $(CFLAGS) wlayout.c\r
166 \r
167 wsockerr.obj: wsockerr.c wsockerr.h\r
168         $(CC) $(CFLAGS) wsockerr.c\r
169 \r
170 help.obj: help.c help.h\r
171         $(CC) $(CFLAGS) help.c\r
172 \r
173 wsnap.obj: wsnap.c wsnap.h\r
174         $(CC) $(CFLAGS) wsnap.c\r
175 \r
176 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \\r
177         ../parser.h ../lists.h\r
178         $(CC) $(CFLAGS) ../pgntags.c\r
179 \r
180 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \\r
181         ../backend.h ../backendz.h ../lists.h\r
182         $(CC) $(CFLAGS) ../zippy.c\r
183 \r
184 uci.obj: ../uci.c ../common.h ../backend.h ../frontend.h ../lists.h\r
185         $(CC) $(CFLAGS) ../uci.c\r
186 \r
187 \r
188 wsettings.obj: wsettings.c ../common.h ../backend.h ../frontend.h ../lists.h\r
189         $(CC) $(CFLAGS) wsettings.c\r
190 \r
191 wchat.obj: wchat.c winboard.h wsnap.h ../common.h ../backend.h ../frontend.h ../lists.h\r
192         $(CC) $(CFLAGS) wchat.c\r
193 \r
194 \r
195 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
196     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
197  oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\\r
198  $(PROJ).res -out:$(PROJ).exe\r
199 \r
200 \r
201 .c.obj:\r
202         $(CC) $(CFLAGS) $< \r