Moved checkpoints out of main, to prep for using them to help prevent DoS attacks
[novacoin.git] / src / makefile.vc
1 # Copyright (c) 2009-2010 Satoshi Nakamoto
2 # Distributed under the MIT/X11 software license, see the accompanying
3 # file license.txt or http://www.opensource.org/licenses/mit-license.php.
4
5
6 INCLUDEPATHS= \
7   /I"/boost" \
8   /I"/db/build_windows" \
9   /I"/openssl/include" \
10   /I"/wxwidgets/lib/vc_lib/mswu" \
11   /I"/wxwidgets/include" /
12   /I"/miniupnpc"
13
14 LIBPATHS= \
15   /LIBPATH:"/boost/stage/lib" \
16   /LIBPATH:"/db/build_windows/Release" \
17   /LIBPATH:"/openssl/lib" \
18   /LIBPATH:"/wxwidgets/lib/vc_lib" \
19   /LIBPATH:"/miniupnpc/msvc/Release" \
20   /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib \
21   /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib \
22   /NODEFAULTLIB:msvcrtd.lib
23
24 WXLIBS=wxmsw29u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib
25
26 USE_UPNP=0
27
28 DEFS=/DWIN32 /D__WXMSW__ /D_WINDOWS /DNOPCH /DNOMINMAX
29
30 LIBS= \
31   libboost_system-vc100-mt.lib \
32   libboost_filesystem-vc100-mt.lib \
33   libboost_program_options-vc100-mt.lib \
34   libboost_thread-vc100-mt.lib \
35   libdb47s.lib \
36   libeay32.lib
37
38 !IFDEF USE_UPNP
39 LIBS=$(LIBS) miniupnpc.lib
40 DEFS=$(DEFS) /DUSE_UPNP=$(USE_UPNP)
41 !ENDIF
42
43 LIBS=$(LIBS) \
44   kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib iphlpapi.lib
45
46 DEBUGFLAGS=/Os
47 CFLAGS=/MD /c /nologo /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
48 HEADERS = \
49     base58.h \
50     bignum.h \
51     checkpoints.h \
52     crypter.h \
53     db.h \
54     headers.h \
55     init.h \
56     irc.h \
57     key.h \
58     keystore.h \
59     main.h \
60     net.h \
61     noui.h \
62     protocol.h \
63     rpc.h \
64     script.h \
65     serialize.h \
66     strlcpy.h \
67     ui.h \
68     uibase.h \
69     uint256.h \
70     util.h \
71     wallet.h
72
73 OBJS= \
74     obj\checkpoints.o \
75     obj\crypter.o \
76     obj\db.o \
77     obj\init.o \
78     obj\irc.o \
79     obj\keystore.o \
80     obj\main.o \
81     obj\net.o \
82     obj\rpc.o \
83     obj\protocol.o \
84     obj\script.o \
85     obj\util.o \
86     obj\wallet.o \
87     cryptopp\obj\sha.o \
88     cryptopp\obj\cpu.o
89
90 CRYPTOPP_OBJS= \
91     cryptopp\obj\sha.obj \
92     cryptopp\obj\cpu.obj
93
94 RC=../share
95
96
97 all: bitcoin.exe
98
99
100 .cpp{obj}.obj:
101     cl $(CFLAGS) /DGUI /Fo$@ %s
102
103 obj\checkpoints.obj: $(HEADERS)
104
105 obj\util.obj: $(HEADERS)
106
107 obj\script.obj: $(HEADERS)
108
109 obj\db.obj: $(HEADERS)
110
111 obj\net.obj: $(HEADERS)
112
113 obj\irc.obj: $(HEADERS)
114
115 obj\keystore.obj: $(HEADERS)
116
117 obj\main.obj: $(HEADERS)
118
119 obj\wallet.obj: $(HEADERS)
120
121 obj\rpc.obj: $(HEADERS)
122
123 obj\init.obj: $(HEADERS)
124
125 obj\crypter.obj: $(HEADERS)
126
127 obj\ui.obj: $(HEADERS)
128
129 obj\uibase.obj: $(HEADERS)
130
131 cryptopp\obj\sha.obj: cryptopp\sha.cpp
132     cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
133
134 cryptopp\obj\cpu.obj: cryptopp\cpu.cpp
135     cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
136
137 obj\ui.res: $(RC)/ui.rc $(RC)/pixmaps/bitcoin.ico $(RC)/pixmaps/check.ico $(RC)/pixmaps/send16.bmp $(RC)/pixmaps/send16mask.bmp $(RC)/pixmaps/send16masknoshadow.bmp $(RC)/pixmaps/send20.bmp $(RC)/pixmaps/send20mask.bmp $(RC)/pixmaps/addressbook16.bmp $(RC)/pixmaps/addressbook16mask.bmp $(RC)/pixmaps/addressbook20.bmp $(RC)/pixmaps/addressbook20mask.bmp
138     rc $(INCLUDEPATHS) $(DEFS) /Fo$@ %s
139
140 bitcoin.exe: $(OBJS) $(CRYPTOPP_OBJS) obj\ui.obj obj\uibase.obj obj\ui.res
141     link /nologo /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(WXLIBS) $(LIBS)
142
143         
144 .cpp{obj\nogui}.obj:
145     cl $(CFLAGS) /Fo$@ %s
146
147 obj\nogui\checkpoints.obj: $(HEADERS)
148
149 obj\nogui\util.obj: $(HEADERS)
150
151 obj\nogui\script.obj: $(HEADERS)
152
153 obj\nogui\db.obj: $(HEADERS)
154
155 obj\nogui\net.obj: $(HEADERS)
156
157 obj\nogui\irc.obj: $(HEADERS)
158
159 obj\nogui\keystore.obj: $(HEADERS)
160
161 obj\nogui\main.obj: $(HEADERS)
162
163 obj\nogui\wallet.obj: $(HEADERS)
164
165 obj\nogui\rpc.obj: $(HEADERS)
166
167 obj\nogui\init.obj: $(HEADERS)
168
169 bitcoind.exe: $(OBJS:obj\=obj\nogui\) $(CRYPTOPP_OBJS) obj\ui.res
170     link /nologo /OUT:$@ $(LIBPATHS) $** $(LIBS)
171
172
173 clean:
174     -del /Q obj\*
175     -del /Q obj\nogui\*
176     -del /Q cryptopp\obj\*
177     -del /Q *.ilk
178     -del /Q *.pdb