# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
USE_UPNP:=0
+USE_IPV6:=1
-DEFS=-DUSE_IPV6 -DBOOST_SPIRIT_THREADSAFE
+LINK:=$(CXX)
+
+DEFS=-DBOOST_SPIRIT_THREADSAFE
DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH))
LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH))
DEFS += -DUSE_UPNP=$(USE_UPNP)
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
LIBS+= \
-Wl,-B$(LMODE2) \
-l z \
xLDFLAGS=$(LDHARDENING) $(LDFLAGS)
OBJS= \
+ obj/alert.o \
obj/version.o \
obj/checkpoints.o \
obj/netbase.o \
obj/bitcoinrpc.o \
obj/rpcdump.o \
obj/rpcnet.o \
+ obj/rpcmining.o \
+ obj/rpcwallet.o \
+ obj/rpcblockchain.o \
obj/rpcrawtransaction.o \
obj/script.o \
obj/sync.o \
obj/util.o \
obj/wallet.o \
obj/walletdb.o \
- obj/noui.o
+ obj/noui.o \
+ obj/leveldb.o \
+ obj/txdb.o
all: bitcoind
+test check: test_bitcoin FORCE
+ ./test_bitcoin
+
+#
+# LevelDB support
+#
+LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a
+DEFS += $(addprefix -I,$(CURDIR)/leveldb/include)
+DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
+leveldb/libleveldb.a:
+ @echo "Building LevelDB ..." && cd leveldb && make libleveldb.a libmemenv.a && cd ..
+obj/leveldb.o: leveldb/libleveldb.a
+
# auto-generated dependencies:
-include obj/*.P
-include obj-test/*.P
rm -f $(@:%.o=%.d)
bitcoind: $(OBJS:obj/%=obj/%)
- $(CXX) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)
+ $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
rm -f $(@:%.o=%.d)
test_bitcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
- $(CXX) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS)
+ $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS)
clean:
-rm -f bitcoind test_bitcoin
-rm -f obj-test/*.o
-rm -f obj/*.P
-rm -f obj-test/*.P
- -rm -f src/build.h
+ -rm -f obj/build.h
FORCE: