2 # Makefile for WinBoard, using Microsoft Visual C++ and nmake
\r
3 # Command line: nmake /f msvc.mak
\r
10 !include <$(OS)$(ENV).MAK>
\r
12 # Use up to date help compiler
\r
13 #hc="c:\program files\microsoft visual studio\common\tools\hcrtf.exe" -xn
\r
14 hc="c:\program files\help workshop\hcrtf.exe" -xn
\r
16 # Comment out both to turn on debugging symbols #######
\r
19 #######################################################
\r
22 allobj = winboard.obj backend.obj parser.obj moves.obj lists.obj \
\r
23 gamelist.obj pgntags.obj wedittags.obj wgamelist.obj zippy.obj \
\r
24 wsockerr.obj wclipbrd.obj woptions.obj
\r
26 cvars = $(cvars) -I. -I.. -DWINVER=0x0400
\r
27 #cflags = $(cflags) /FR
\r
33 rm -f *.obj *~ $(proj).exe $(proj).err $(proj).rbj $(proj).res \
\r
34 $(proj).ini *.sbr *.bsc *.o *.plg *.opt *.ncb *.debug *.bak *.gid
\r
36 # Update the help file if necessary
\r
37 $(proj).hlp : $(proj).rtf
\r
41 # Update the resource if necessary
\r
42 $(proj).rbj: $(proj).rc $(proj).h $(proj).res resource.h
\r
43 $(rc) $(rcvars) -r -fo $(proj).res $(cvars) $(proj).rc
\r
44 cvtres -$(CPU) $(proj).res -o $(proj).rbj
\r
46 # Update the object files if necessary
\r
47 winboard.obj: winboard.c config.h winboard.h ../common.h ../frontend.h \
\r
48 ../backend.h ../moves.h wgamelist.h defaults.h resource.h wclipbrd.h \
\r
49 wedittags.h wsockerr.h ../lists.h
\r
50 $(cc) $(cflags) $(cvars) $(cdebug) winboard.c
\r
52 backend.obj: ../backend.c config.h ../common.h ../frontend.h ../backend.h \
\r
53 ../parser.h ../moves.h ../zippy.h ../backendz.h ../lists.h
\r
54 $(cc) $(cflags) $(cvars) $(cdebug) ../backend.c
\r
56 parser.obj: parser.c config.h ../common.h ../backend.h ../parser.h \
\r
57 ../frontend.h ../moves.h ../lists.h
\r
58 $(cc) $(cflags) $(cvars) $(cdebug) parser.c
\r
60 parser.c: ../parser.l
\r
61 flex -oparser.c -L ../parser.l
\r
63 moves.obj: ../moves.c config.h ../backend.h ../common.h ../parser.h \
\r
64 ../moves.h ../lists.h ../frontend.h
\r
65 $(cc) $(cflags) $(cvars) $(cdebug) ../moves.c
\r
67 lists.obj: ../lists.c config.h ../lists.h ../common.h
\r
68 $(cc) $(cflags) $(cvars) $(cdebug) ../lists.c
\r
70 gamelist.obj: ../gamelist.c config.h ../lists.h ../common.h ../frontend.h \
\r
71 ../backend.h ../parser.h ../lists.h
\r
72 $(cc) $(cflags) $(cvars) $(cdebug) ../gamelist.c
\r
74 pgntags.obj: ../pgntags.c config.h ../common.h ../frontend.h ../backend.h \
\r
75 ../parser.h ../lists.h
\r
76 $(cc) $(cflags) $(cvars) $(cdebug) ../pgntags.c
\r
78 wclipbrd.obj: wclipbrd.c config.h ../common.h ../frontend.h ../backend.h \
\r
79 winboard.h wclipbrd.h ../lists.h resource.h
\r
80 $(cc) $(cflags) $(cvars) $(cdebug) wclipbrd.c
\r
82 wedittags.obj: wedittags.c config.h ../common.h winboard.h ../frontend.h \
\r
83 ../backend.h ../lists.h resource.h
\r
84 $(cc) $(cflags) $(cvars) $(cdebug) wedittags.c
\r
86 wgamelist.obj: wgamelist.c config.h. ../common.h winboard.h ../frontend.h \
\r
87 ../backend.h wgamelist.h ../lists.h resource.h
\r
88 $(cc) $(cflags) $(cvars) $(cdebug) wgamelist.c
\r
90 woptions.obj: woptions.c config.h ../common.h ../frontend.h ../backend.h \
\r
91 ../lists.h defaults.h
\r
92 $(cc) $(cflags) $(cvars) $(cdebug) woptions.c
\r
94 wsockerr.obj: wsockerr.c wsockerr.h
\r
95 $(cc) $(cflags) $(cvars) $(cdebug) wsockerr.c
\r
97 zippy.obj: ../zippy.c config.h ../common.h ../zippy.h ../frontend.h \
\r
98 ../backend.h ../backendz.h ../lists.h
\r
99 $(cc) $(cflags) $(cvars) $(cdebug) ../zippy.c
\r
101 $(proj).exe: $(allobj) $(proj).rbj $(proj).hlp $(proj).rc
\r
102 $(link) $(linkdebug) $(guiflags) $(allobj) \
\r
103 wsock32.lib comctl32.lib winmm.lib libc.lib oldnames.lib kernel32.lib \
\r
104 advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib \
\r
106 $(proj).rbj -out:$(proj).exe
\r
107 # I don't use the .sbr, but it can be reenabled. Also turn /FR back on above.
\r
111 $(cc) $(cflags) $(cvars) $(cdebug) test.c
\r
112 $(link) $(linkdebug) $(conflags) test.obj $(conlibs) -out:test.exe
\r