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"/miniupnpc"
11
12 LIBPATHS= \
13   /LIBPATH:"/boost/stage/lib" \
14   /LIBPATH:"/db/build_windows/Release" \
15   /LIBPATH:"/openssl/lib" \
16   /LIBPATH:"/miniupnpc/msvc/Release" \
17   /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib \
18   /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib \
19   /NODEFAULTLIB:msvcrtd.lib
20
21 USE_UPNP=0
22
23 DEFS=/DWIN32 /D_WINDOWS /DNOPCH /DNOMINMAX
24
25 LIBS= \
26   libboost_system-vc100-mt.lib \
27   libboost_filesystem-vc100-mt.lib \
28   libboost_program_options-vc100-mt.lib \
29   libboost_thread-vc100-mt.lib \
30   libdb47s.lib \
31   libeay32.lib
32
33 !IFDEF USE_UPNP
34 LIBS=$(LIBS) miniupnpc.lib
35 DEFS=$(DEFS) /DUSE_UPNP=$(USE_UPNP)
36 !ENDIF
37
38 LIBS=$(LIBS) \
39   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
40
41 DEBUGFLAGS=/Os
42 CFLAGS=/MD /c /nologo /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
43 HEADERS = \
44     base58.h \
45     bignum.h \
46     checkpoints.h \
47     crypter.h \
48     db.h \
49     headers.h \
50     init.h \
51     irc.h \
52     key.h \
53     keystore.h \
54     main.h \
55     net.h \
56     noui.h \
57     protocol.h \
58     bitcoinrpc.h \
59     script.h \
60     serialize.h \
61     strlcpy.h \
62     ui.h \
63     uibase.h \
64     uint256.h \
65     util.h \
66     wallet.h
67
68 OBJS= \
69     obj\checkpoints.o \
70     obj\crypter.o \
71     obj\db.o \
72     obj\init.o \
73     obj\irc.o \
74     obj\keystore.o \
75     obj\main.o \
76     obj\net.o \
77     obj\rpc.o \
78     obj\protocol.o \
79     obj\script.o \
80     obj\util.o \
81     obj\wallet.o
82
83 RC=../share
84
85
86 all: bitcoind.exe
87
88
89 .cpp{obj}.obj:
90     cl $(CFLAGS) /DGUI /Fo$@ %s
91
92 obj\checkpoints.obj: $(HEADERS)
93
94 obj\util.obj: $(HEADERS)
95
96 obj\script.obj: $(HEADERS)
97
98 obj\db.obj: $(HEADERS)
99
100 obj\net.obj: $(HEADERS)
101
102 obj\irc.obj: $(HEADERS)
103
104 obj\keystore.obj: $(HEADERS)
105
106 obj\main.obj: $(HEADERS)
107
108 obj\wallet.obj: $(HEADERS)
109
110 obj\rpc.obj: $(HEADERS)
111
112 obj\init.obj: $(HEADERS)
113
114 obj\crypter.obj: $(HEADERS)
115
116 obj\ui.obj: $(HEADERS)
117
118 obj\uibase.obj: $(HEADERS)
119
120 .cpp{obj\nogui}.obj:
121     cl $(CFLAGS) /Fo$@ %s
122
123 obj\nogui\checkpoints.obj: $(HEADERS)
124
125 obj\nogui\util.obj: $(HEADERS)
126
127 obj\nogui\script.obj: $(HEADERS)
128
129 obj\nogui\db.obj: $(HEADERS)
130
131 obj\nogui\net.obj: $(HEADERS)
132
133 obj\nogui\irc.obj: $(HEADERS)
134
135 obj\nogui\keystore.obj: $(HEADERS)
136
137 obj\nogui\main.obj: $(HEADERS)
138
139 obj\nogui\wallet.obj: $(HEADERS)
140
141 obj\nogui\rpc.obj: $(HEADERS)
142
143 obj\nogui\init.obj: $(HEADERS)
144
145 bitcoind.exe: $(OBJS:obj\=obj\nogui\) obj\ui.res
146     link /nologo /OUT:$@ $(LIBPATHS) $** $(LIBS)
147
148 clean:
149     -del /Q obj\*
150     -del /Q obj\nogui\*
151     -del /Q *.ilk
152     -del /Q *.pdb
153     -del /Q bitcoind.exe