Updated cmdline makefiles to be able to produce JAWS binaries.
[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 \r
7 PROJ = winboard\r
8 \r
9 \r
10 OBJS=backend.obj book.obj gamelist.obj lists.obj moves.obj pgntags.obj uci.obj zippy.obj\\r
11  parser.obj wclipbrd.obj wedittags.obj wengineo.obj wevalgraph.obj wgamelist.obj\\r
12  whistory.obj winboard.obj wlayout.obj woptions.obj wsnap.obj wsockerr.obj help.obj\r
13 \r
14 \r
15 # Debugging?\r
16 USE_DEBUG=0\r
17 \r
18 \r
19 # JAWS support?\r
20 JAWS=0\r
21 \r
22 \r
23 CC = @cl\r
24 RC = @rc\r
25 LINK = link\r
26 HC="c:\program files\help workshop\hcrtf.exe" -xn\r
27 FLEX = "c:/mingw/mingw32/bin/flex.exe"\r
28 DEFS = -D_WIN32_IE=0x300 -DWIN32 -DWINVER=0x0500 -D_WIN32_WINDOWS=0x500\r
29 !if $(JAWS) == 1\r
30 DEFS = -DJAWS $(DEFS)\r
31 !endif\r
32 #WARN = -W3\r
33 ARCH =\r
34 \r
35 \r
36 !if $(VCVER) >= 8\r
37 CLIB= libcmt\r
38 LIBF= -MT\r
39 DEPRECATE=-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_USE_32BIT_TIME_T\r
40 !else\r
41 VSO = -Gf -Og\r
42 CLIB = msvcrt\r
43 LIBF = -MD\r
44 !endif\r
45 \r
46 \r
47 !if $(USE_DEBUG) == 0\r
48 CFDEBUG = -DNDEBUG\r
49 OPTS = -Os -Oy -Gs -GA -Zl $(VSO) $(LIBF)\r
50 LFDEBUG = $(CLIB).lib\r
51 !else\r
52 CFDEBUG = -D_DEBUG -DDEBUG\r
53 OPTS = -Od -Zi -Fd$(PROJ).pdb $(LIBF)d\r
54 LFDEBUG = -DEBUG -PDB:$(PROJ).pdb -MAP:$(PROJ).map $(CLIB)d.lib\r
55 !endif\r
56 CF = $(CFDEBUG) $(DEFS) $(DEPRECATE) -I. -I..\r
57 CFLAGS = -c -nologo $(WARN) $(CF) $(ARCH) $(OPTS)\r
58 LFLAGS = -nologo $(LFDEBUG)\r
59 \r
60 \r
61 all: $(PROJ).exe\r
62 \r
63 \r
64 clean:\r
65         -erase *~ $(PROJ).exe $(PROJ).err $(PROJ).rbj $(PROJ).res *.sbr *.bsc\\r
66         *.o *.obj *.plg *.opt *.ncb *.debug *.bak *.gid *.map *.pdb *.ini\r
67 \r
68 \r
69 # Update the help file if necessary\r
70 $(PROJ).hlp : $(PROJ).rtf\r
71         $(HC) $(PROJ).hpj\r
72         -@type $(PROJ).err\r
73         -@rename $(PROJ).hlp $(PROJ).hlp.tmp\r
74         -@rename $(PROJ).hlp.tmp $(PROJ).hlp\r
75 \r
76 \r
77 # Update the resource if necessary\r
78 $(PROJ).res: $(PROJ).rc $(PROJ).h resource.h\r
79     $(RC) $(CF) -r -fo $(PROJ).res $(PROJ).rc\r
80 \r
81 parser.c: ../parser.l\r
82     $(FLEX) -oparser.c -L ../parser.l\r
83 \r
84 winboard.obj: winboard.c config.h winboard.h ../common.h ../frontend.h \\r
85         ../backend.h ../moves.h wgamelist.h defaults.h resource.h wclipbrd.h \\r
86         wedittags.h wsockerr.h woptions.h wsnap.h ../lists.h help.h\r
87         $(CC) $(CFLAGS) winboard.c\r
88 \r
89 backend.obj: ../backend.c config.h ../common.h ../frontend.h ../backend.h \\r
90         ../parser.h ../moves.h ../zippy.h ../backendz.h ../gettext.h ../lists.h\r
91         $(CC) $(CFLAGS) ../backend.c\r
92 \r
93 parser.obj: parser.c config.h ../common.h ../backend.h ../parser.h \\r
94         ../frontend.h ../moves.h ../lists.h\r
95         $(CC) $(CFLAGS) parser.c\r
96 \r
97 book.obj: ../book.c ../common.h ../backend.h ../lists.h\r
98         $(CC) $(CFLAGS) ../book.c\r
99 \r
100 gamelist.obj: ../gamelist.c config.h ../lists.h ../common.h ../frontend.h \\r
101         ../backend.h ../parser.h\r
102         $(CC) $(CFLAGS) ../gamelist.c\r
103 \r
104 lists.obj: ../lists.c config.h ../lists.h ../common.h\r
105         $(CC) $(CFLAGS) ../lists.c\r
106 \r
107 moves.obj: ../moves.c config.h ../backend.h ../common.h ../parser.h \\r
108         ../moves.h ../lists.h\r
109         $(CC) $(CFLAGS) ../moves.c\r
110 \r
111 wclipbrd.obj: wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \\r
112         winboard.h resource.h wclipbrd.h ../lists.h\r
113         $(CC) $(CFLAGS) wclipbrd.c\r
114 \r
115 wedittags.obj: wedittags.c config.h ../common.h winboard.h resource.h ../frontend.h \\r
116         ../backend.h ../lists.h wedittags.h\r
117         $(CC) $(CFLAGS) wedittags.c\r
118 \r
119 wgamelist.obj: wgamelist.c config.h. ../common.h winboard.h resource.h ../frontend.h \\r
120         ../backend.h wgamelist.h ../lists.h\r
121         $(CC) $(CFLAGS) wgamelist.c\r
122 \r
123 woptions.obj: woptions.c config.h ../common.h ../frontend.h ../backend.h \\r
124         ../lists.h defaults.h winboard.h resource.h\r
125         $(CC) $(CFLAGS) woptions.c\r
126 \r
127 wengineo.obj: wengineo.c config.h ../common.h ../frontend.h ../backend.h \\r
128         ../lists.h winboard.h resource.h wsnap.h\r
129         $(CC) $(CFLAGS) wengineo.c\r
130 \r
131 whistory.obj: whistory.c config.h ../common.h ../frontend.h ../backend.h \\r
132         ../lists.h winboard.h resource.h wsnap.h\r
133         $(CC) $(CFLAGS) whistory.c\r
134 \r
135 wevalgraph.obj: wevalgraph.c config.h ../common.h ../frontend.h ../backend.h \\r
136         ../lists.h winboard.h resource.h wsnap.h\r
137         $(CC) $(CFLAGS) wevalgraph.c\r
138 \r
139 wlayout.obj: wlayout.c config.h ../common.h winboard.h resource.h\r
140         $(CC) $(CFLAGS) wlayout.c\r
141 \r
142 wsockerr.obj: wsockerr.c wsockerr.h\r
143         $(CC) $(CFLAGS) wsockerr.c\r
144 \r
145 help.obj: help.c help.h\r
146         $(CC) $(CFLAGS) help.c\r
147 \r
148 wsnap.obj: wsnap.c wsnap.h\r
149         $(CC) $(CFLAGS) wsnap.c\r
150 \r
151 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \\r
152         ../parser.h ../lists.h\r
153         $(CC) $(CFLAGS) ../pgntags.c\r
154 \r
155 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \\r
156         ../backend.h ../backendz.h ../lists.h\r
157         $(CC) $(CFLAGS) ../zippy.c\r
158 \r
159 uci.obj: ../uci.c ..//common.h ../backend.h ../frontend.h ../lists.h\r
160         $(CC) $(CFLAGS) ../uci.c\r
161 \r
162 \r
163 $(PROJ).exe: $(OBJS) $(PROJ).res $(PROJ).hlp\r
164     $(LINK) $(LFLAGS) $(OBJS) wsock32.lib comctl32.lib winmm.lib shell32.lib\\r
165  oldnames.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib\\r
166  $(PROJ).res -out:$(PROJ).exe\r
167 \r
168 \r
169 .c.obj:\r
170         $(CC) $(CFLAGS) $<