Cleanup makefiles such that diffs to them are smaller
[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     crypter.h \
52     db.h \
53     headers.h \
54     init.h \
55     irc.h \
56     key.h \
57     keystore.h \
58     main.h \
59     net.h \
60     noui.h \
61     rpc.h \
62     script.h \
63     serialize.h \
64     strlcpy.h \
65     ui.h \
66     uibase.h \
67     uint256.h \
68     util.h \
69     wallet.h
70
71 OBJS= \
72     obj\crypter.o \
73     obj\db.o \
74     obj\init.o \
75     obj\irc.o \
76     obj\keystore.o \
77     obj\main.o \
78     obj\net.o \
79     obj\rpc.o \
80     obj\script.o \
81     obj\util.o \
82     obj\wallet.o \
83     cryptopp\obj\sha.o \
84     cryptopp\obj\cpu.o
85
86 CRYPTOPP_OBJS= \
87     cryptopp\obj\sha.obj \
88     cryptopp\obj\cpu.obj
89
90 RC=../share
91
92
93 all: bitcoin.exe
94
95
96 .cpp{obj}.obj:
97     cl $(CFLAGS) /DGUI /Fo$@ %s
98
99 obj\util.obj: $(HEADERS)
100
101 obj\script.obj: $(HEADERS)
102
103 obj\db.obj: $(HEADERS)
104
105 obj\net.obj: $(HEADERS)
106
107 obj\irc.obj: $(HEADERS)
108
109 obj\keystore.obj: $(HEADERS)
110
111 obj\main.obj: $(HEADERS)
112
113 obj\wallet.obj: $(HEADERS)
114
115 obj\rpc.obj: $(HEADERS)
116
117 obj\init.obj: $(HEADERS)
118
119 obj\crypter.obj: $(HEADERS)
120
121 obj\ui.obj: $(HEADERS)
122
123 obj\uibase.obj: $(HEADERS)
124
125 cryptopp\obj\sha.obj: cryptopp\sha.cpp
126     cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
127
128 cryptopp\obj\cpu.obj: cryptopp\cpu.cpp
129     cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
130
131 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
132     rc $(INCLUDEPATHS) $(DEFS) /Fo$@ %s
133
134 bitcoin.exe: $(OBJS) $(CRYPTOPP_OBJS) obj\ui.obj obj\uibase.obj obj\ui.res
135     link /nologo /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(WXLIBS) $(LIBS)
136
137         
138 .cpp{obj\nogui}.obj:
139     cl $(CFLAGS) /Fo$@ %s
140
141 obj\nogui\util.obj: $(HEADERS)
142
143 obj\nogui\script.obj: $(HEADERS)
144
145 obj\nogui\db.obj: $(HEADERS)
146
147 obj\nogui\net.obj: $(HEADERS)
148
149 obj\nogui\irc.obj: $(HEADERS)
150
151 obj\nogui\keystore.obj: $(HEADERS)
152
153 obj\nogui\main.obj: $(HEADERS)
154
155 obj\nogui\wallet.obj: $(HEADERS)
156
157 obj\nogui\rpc.obj: $(HEADERS)
158
159 obj\nogui\init.obj: $(HEADERS)
160
161 bitcoind.exe: $(OBJS:obj\=obj\nogui\) $(CRYPTOPP_OBJS) obj\ui.res
162     link /nologo /OUT:$@ $(LIBPATHS) $** $(LIBS)
163
164
165 clean:
166     -del /Q obj\*
167     -del /Q obj\nogui\*
168     -del /Q cryptopp\obj\*
169     -del /Q *.ilk
170     -del /Q *.pdb