Updated development process description
[novacoin.git] / 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/mswud" \
11   /I"/wxwidgets/include"
12
13 LIBPATHS= \
14   /LIBPATH:"/boost/stage/lib" \
15   /LIBPATH:"/db/build_windows/debug" \
16   /LIBPATH:"/openssl/out" \
17   /LIBPATH:"/wxwidgets/lib/vc_lib"
18
19 WXLIBS=wxmsw29ud_html.lib wxmsw29ud_core.lib wxmsw29ud_adv.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib
20
21 LIBS= \
22   libboost_system-vc80-mt-gd.lib \
23   libboost_filesystem-vc80-mt-gd.lib \
24   libboost_program_options-vc80-mt-gd.lib \
25   libboost_thread-vc80-mt-gd.lib \
26   libdb47sd.lib \
27   libeay32.lib \
28   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
29
30 DEFS=/DWIN32 /D__WXMSW__ /D_WINDOWS /DNOPCH
31 DEBUGFLAGS=/Zi /D__WXDEBUG__
32 CFLAGS=/c /nologo /MDd /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
33 HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
34     script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
35
36 OBJS= \
37     obj\util.obj \
38     obj\script.obj \
39     obj\db.obj \
40     obj\net.obj \
41     obj\irc.obj \
42     obj\main.obj \
43     obj\rpc.obj \
44     obj\init.obj \
45     cryptopp\obj\sha.obj \
46     cryptopp\obj\cpu.obj
47
48
49 all: bitcoin.exe
50
51
52 .cpp{obj}.obj:
53     cl $(CFLAGS) /DGUI /Fo$@ %s
54
55 obj\util.obj: $(HEADERS)
56
57 obj\script.obj: $(HEADERS)
58
59 obj\db.obj: $(HEADERS)
60
61 obj\net.obj: $(HEADERS)
62
63 obj\irc.obj: $(HEADERS)
64
65 obj\main.obj: $(HEADERS)
66
67 obj\rpc.obj: $(HEADERS)
68
69 obj\init.obj: $(HEADERS)
70
71 obj\ui.obj: $(HEADERS)
72
73 obj\uibase.obj: $(HEADERS)
74
75 cryptopp\obj\sha.obj: cryptopp\sha.cpp
76     cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
77
78 cryptopp\obj\cpu.obj: cryptopp\cpu.cpp
79     cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
80
81 obj\ui.res: ui.rc  rc/bitcoin.ico rc/check.ico rc/send16.bmp rc/send16mask.bmp rc/send16masknoshadow.bmp rc/send20.bmp rc/send20mask.bmp rc/addressbook16.bmp rc/addressbook16mask.bmp rc/addressbook20.bmp rc/addressbook20mask.bmp
82     rc $(INCLUDEPATHS) $(DEFS) /Fo$@ %s
83
84 bitcoin.exe: $(OBJS) obj\ui.obj obj\uibase.obj obj\ui.res
85     link /nologo /DEBUG /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(WXLIBS) $(LIBS)
86
87
88 .cpp{obj\nogui}.obj:
89     cl $(CFLAGS) /Fo$@ %s
90
91 obj\nogui\util.obj: $(HEADERS)
92
93 obj\nogui\script.obj: $(HEADERS)
94
95 obj\nogui\db.obj: $(HEADERS)
96
97 obj\nogui\net.obj: $(HEADERS)
98
99 obj\nogui\irc.obj: $(HEADERS)
100
101 obj\nogui\main.obj: $(HEADERS)
102
103 obj\nogui\rpc.obj: $(HEADERS)
104
105 obj\nogui\init.obj: $(HEADERS)
106
107 bitcoind.exe: $(OBJS:obj\=obj\nogui\) obj\ui.res
108     link /nologo /DEBUG /OUT:$@ $(LIBPATHS) $** $(LIBS)
109
110
111 clean:
112     -del /Q obj\*
113     -del /Q obj\nogui\*
114     -del /Q cryptopp\obj\*
115     -del /Q *.ilk
116     -del /Q *.pdb