Projects : bitcoin : bitcoin_checkblocks_cleanup
1 | DIST=$(CURDIR)/../deps |
2 | OURLIBS=$(CURDIR)/ourlibs |
3 | |
4 | CPPFLAGS = -DNOPCH -D_FORTIFY_SOURCE=2 -isystem ourlibs/include |
5 | CXXFLAGS = -g -O2 -pthread -Wall -Wextra |
6 | LDFLAGS = -Lourlibs/lib |
7 | LDLIBS = -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -ldb_cxx -lcrypto -lpthread |
8 | |
9 | LIBS = boost.stamp bdb.stamp openssl.stamp |
10 | BASE_OBJS = bitcoinrpc.o checkpoints.o crypter.o db.o keystore.o main.o net.o protocol.o script.o util.o wallet.o |
11 | |
12 | all: bitcoind test_bitcoin |
13 | |
14 | bitcoind: init.o $(BASE_OBJS) |
15 | $(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS) |
16 | |
17 | test_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 | |
23 | test_bitcoin.o: ../src/test/test_bitcoin.cpp $(LIBS) |
24 | $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< |
25 | |
26 | # FIX THESE ABOMINATIONS!!! |
27 | |
28 | BOOST = boost_1_52_0 |
29 | BDB = db-4.8.30 |
30 | OPENSSL = openssl-1.0.1g |
31 | |
32 | boost.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 | |
43 | bdb.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 | |
52 | openssl.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 | |
62 | clean: |
63 | rm -rf $(BOOST) $(BDB) $(OPENSSL) *.stamp ourlibs bitcoind test_bitcoin *.o *.d |
64 | |
65 | -include *.d |