Merge branch 'rounding' of https://github.com/gavinandresen/bitcoin-git into gavinand...
[novacoin.git] / makefile.unix
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 CXX=g++
6
7 WXINCLUDEPATHS=$(shell wx-config --cxxflags)
8
9 WXLIBS=$(shell wx-config --libs)
10
11 # for boost 1.37, add -mt to the boost libraries
12 LIBS= \
13  -Wl,-Bstatic \
14    -l boost_system \
15    -l boost_filesystem \
16    -l boost_program_options \
17    -l boost_thread \
18    -l db_cxx \
19    -l ssl \
20    -l crypto \
21  -Wl,-Bdynamic \
22    -l gthread-2.0 \
23    -l z \
24    -l dl
25
26 DEFS=-DNOPCH -DFOURWAYSSE2 -DUSE_SSL
27 DEBUGFLAGS=-g -D__WXDEBUG__
28 CXXFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS)
29 HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
30     script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
31
32 OBJS= \
33     obj/util.o \
34     obj/script.o \
35     obj/db.o \
36     obj/net.o \
37     obj/irc.o \
38     obj/main.o \
39     obj/rpc.o \
40     obj/init.o \
41     cryptopp/obj/sha.o \
42     cryptopp/obj/cpu.o
43
44
45 all: bitcoin
46
47
48 obj/%.o: %.cpp $(HEADERS)
49         $(CXX) -c $(CXXFLAGS) $(WXINCLUDEPATHS) -DGUI -o $@ $<
50
51 cryptopp/obj/%.o: cryptopp/%.cpp
52         $(CXX) -c $(CXXFLAGS) -O3 -o $@ $<
53
54 obj/sha256.o: sha256.cpp
55         $(CXX) -c $(CXXFLAGS) -msse2 -O3 -march=amdfam10 -o $@ $<
56
57 bitcoin: $(OBJS) obj/ui.o obj/uibase.o obj/sha256.o
58         $(CXX) $(CXXFLAGS) -o $@ $^ $(WXLIBS) $(LIBS)
59
60
61 obj/nogui/%.o: %.cpp $(HEADERS)
62         $(CXX) -c $(CXXFLAGS) -o $@ $<
63
64 bitcoind: $(OBJS:obj/%=obj/nogui/%) obj/sha256.o
65         $(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
66
67
68 clean:
69         -rm -f obj/*.o
70         -rm -f obj/nogui/*.o
71         -rm -f cryptopp/obj/*.o
72         -rm -f headers.h.gch
73         -rm -f bitcoin
74         -rm -f bitcoind