Projects : bitcoin : bitcoin_checkblocks_cleanup

bitcoin/build/Makefile

Dir - Raw

1DIST=$(CURDIR)/../deps
2OURLIBS=$(CURDIR)/ourlibs
3
4CPPFLAGS = -DNOPCH -D_FORTIFY_SOURCE=2 -isystem ourlibs/include
5CXXFLAGS = -g -O2 -pthread -Wall -Wextra
6LDFLAGS = -Lourlibs/lib
7LDLIBS = -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -ldb_cxx -lcrypto -lpthread
8
9LIBS = boost.stamp bdb.stamp openssl.stamp
10BASE_OBJS = bitcoinrpc.o checkpoints.o crypter.o db.o keystore.o main.o net.o protocol.o script.o util.o wallet.o
11
12all: bitcoind test_bitcoin
13
14bitcoind: init.o $(BASE_OBJS)
15 $(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS)
16
17test_bitcoin: test_bitcoin.o $(BASE_OBJS)
18 $(CXX) $(LDFLAGS) -o $@ $^ -lboost_unit_test_framework $(LDLIBS)
19
20%.o: ../src/%.cpp $(LIBS)
21 $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
22
23test_bitcoin.o: ../src/test/test_bitcoin.cpp $(LIBS)
24 $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
25
26# FIX THESE ABOMINATIONS!!!
27
28BOOST = boost_1_52_0
29BDB = db-4.8.30
30OPENSSL = openssl-1.0.1g
31
32boost.stamp:
33 rm -rf $(BOOST)
34 tar -xjf $(DIST)/$(BOOST).tar.bz2
35 cd $(BOOST) && \
36 patch -p1 < $(DIST)/boost-no-demangler.patch && \
37 echo "using gcc : : $(CXX) ;" >> tools/build/v2/user-config.jam && \
38 ./bootstrap.sh --with-libraries=filesystem,program_options,test,thread && \
39 ./bjam toolset=gcc link=static && \
40 ./bjam toolset=gcc link=static --prefix=$(OURLIBS) install
41 touch boost.stamp
42
43bdb.stamp:
44 rm -rf $(BDB)
45 tar -xzf $(DIST)/db-4.8.30.tar.gz
46 cd $(BDB)/build_unix && \
47 ../dist/configure --enable-cxx --disable-shared --prefix=$(OURLIBS) && \
48 $(MAKE) && \
49 $(MAKE) install
50 touch bdb.stamp
51
52openssl.stamp:
53 rm -rf $(OPENSSL)
54 tar -xzf $(DIST)/$(OPENSSL).tar.gz
55 cd $(OPENSSL) && \
56 patch -p1 < $(DIST)/openssl-004-musl-termios.patch && \
57 ./Configure --prefix=$(OURLIBS) no-dso threads linux-x86_64 && \
58 $(MAKE) -j1 && \
59 $(MAKE) -j1 install_sw
60 touch openssl.stamp
61
62clean:
63 rm -rf $(BOOST) $(BDB) $(OPENSSL) *.stamp ourlibs bitcoind test_bitcoin *.o *.d
64
65-include *.d