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