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 |