GUI-less build target bitcoind that links to wxBase and shouldn't need GTK,
[novacoin.git] / makefile.mingw
1 # Copyright (c) 2009-2010 Satoshi Nakamoto\r
2 # Distributed under the MIT/X11 software license, see the accompanying\r
3 # file license.txt or http://www.opensource.org/licenses/mit-license.php.\r
4 \r
5 \r
6 # for wxWidgets-2.8.x, search and replace "mswud"->"mswd" and "29u"->"28"\r
7 \r
8 INCLUDEPATHS= \\r
9  -I"/boost" \\r
10  -I"/db/build_unix" \\r
11  -I"/openssl/include" \\r
12  -I"/wxwidgets/lib/gcc_lib/mswud" \\r
13  -I"/wxwidgets/include"\r
14 \r
15 LIBPATHS= \\r
16  -L"/boost/stage/lib" \\r
17  -L"/db/build_unix" \\r
18  -L"/openssl/out" \\r
19  -L"/wxwidgets/lib/gcc_lib"\r
20 \r
21 WXLIBS= \\r
22  -l wxmsw29ud_html -l wxmsw29ud_core -l wxmsw29ud_adv -l wxbase29ud -l wxtiffd -l wxjpegd -l wxpngd -l wxzlibd\r
23 \r
24 LIBS= \\r
25  -l libboost_system-mgw34-mt-d -l libboost_filesystem-mgw34-mt-d \\r
26  -l db_cxx \\r
27  -l eay32 \\r
28  -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi\r
29 \r
30 WXDEFS=-DWIN32 -D__WXMSW__ -D_WINDOWS -DNOPCH\r
31 DEBUGFLAGS=-g -D__WXDEBUG__\r
32 CFLAGS=-mthreads -O0 -w -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(WXDEFS) $(INCLUDEPATHS)\r
33 HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \\r
34     script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h init.h sha.h\r
35 \r
36 \r
37 all: bitcoin.exe\r
38 \r
39 \r
40 headers.h.gch: headers.h $(HEADERS)\r
41         g++ -c $(CFLAGS) -o $@ $<\r
42 \r
43 obj/%.o: %.cpp $(HEADERS) headers.h.gch\r
44         g++ -c $(CFLAGS) -o $@ $<\r
45 \r
46 obj/sha.o: sha.cpp sha.h\r
47         g++ -c $(CFLAGS) -O3 -o $@ $<\r
48 \r
49 obj/ui_res.o: 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\r
50         windres $(WXDEFS) $(INCLUDEPATHS) -o $@ -i $<\r
51 \r
52 OBJS= \\r
53     obj/util.o \\r
54     obj/script.o \\r
55     obj/db.o \\r
56     obj/net.o \\r
57     obj/irc.o \\r
58     obj/main.o \\r
59     obj/rpc.o \\r
60     obj/init.o\r
61 \r
62 bitcoin.exe: $(OBJS) obj/ui.o obj/uibase.o obj/sha.o obj/ui_res.o\r
63         g++ $(CFLAGS) -mwindows -Wl,--subsystem,windows -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)\r
64 \r
65 \r
66 obj/nogui/%.o: %.cpp $(HEADERS)\r
67         g++ -c $(CFLAGS) -DwxUSE_GUI=0 -o $@ $<\r
68 \r
69 bitcoind.exe: $(OBJS:obj/%=obj/nogui/%) obj/sha.o obj/ui_res.o\r
70         g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ -l wxbase29ud $(LIBS)\r
71 \r
72 \r
73 clean:\r
74         -del /Q obj\*\r
75         -del /Q obj\nogui\*\r
76         -del /Q headers.h.gch\r