DIST=$(CURDIR)/../deps OURLIBS=$(CURDIR)/ourlibs CPPFLAGS = -DNOPCH -D_FORTIFY_SOURCE=2 -isystem ourlibs/include CXXFLAGS = -g -O2 -pthread -Wall -Wextra LDFLAGS = -Lourlibs/lib LDLIBS = -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -ldb_cxx -lcrypto -lpthread LIBS = boost.stamp bdb.stamp openssl.stamp BASE_OBJS = bitcoinrpc.o checkpoints.o crypter.o db.o keystore.o main.o net.o protocol.o script.o util.o wallet.o all: bitcoind test_bitcoin bitcoind: init.o $(BASE_OBJS) $(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS) test_bitcoin: test_bitcoin.o $(BASE_OBJS) $(CXX) $(LDFLAGS) -o $@ $^ -lboost_unit_test_framework $(LDLIBS) %.o: ../src/%.cpp $(LIBS) $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< test_bitcoin.o: ../src/test/test_bitcoin.cpp $(LIBS) $(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< # FIX THESE ABOMINATIONS!!! BOOST = boost_1_52_0 BDB = db-4.8.30 OPENSSL = openssl-1.0.1g boost.stamp: rm -rf $(BOOST) tar -xjf $(DIST)/$(BOOST).tar.bz2 cd $(BOOST) && \ patch -p1 < $(DIST)/boost-no-demangler.patch && \ echo "using gcc : : $(CXX) ;" >> tools/build/v2/user-config.jam && \ ./bootstrap.sh --with-libraries=filesystem,program_options,test,thread && \ ./bjam toolset=gcc link=static && \ ./bjam toolset=gcc link=static --prefix=$(OURLIBS) install touch boost.stamp bdb.stamp: rm -rf $(BDB) tar -xzf $(DIST)/db-4.8.30.tar.gz cd $(BDB)/build_unix && \ ../dist/configure --enable-cxx --disable-shared --prefix=$(OURLIBS) && \ $(MAKE) && \ $(MAKE) install touch bdb.stamp openssl.stamp: rm -rf $(OPENSSL) tar -xzf $(DIST)/$(OPENSSL).tar.gz cd $(OPENSSL) && \ patch -p1 < $(DIST)/openssl-004-musl-termios.patch && \ ./Configure --prefix=$(OURLIBS) no-dso threads linux-x86_64 && \ $(MAKE) -j1 && \ $(MAKE) -j1 install_sw touch openssl.stamp clean: rm -rf $(BOOST) $(BDB) $(OPENSSL) *.stamp ourlibs bitcoind test_bitcoin *.o *.d -include *.d