mirror of
https://github.com/twisterarmy/twister-core.git
synced 2025-01-11 07:17:53 +00:00
1f0ce2dd68
- this flag allows bitcoin-qt.exe / bitcoind.exe (32-bit application) to handle addresses larger than 2GB (up to 3GB on x86 Windows and up to 4GB on x64 Windows)
125 lines
3.2 KiB
Plaintext
125 lines
3.2 KiB
Plaintext
# Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
# Distributed under the MIT/X11 software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
USE_UPNP:=0
|
|
USE_IPV6:=1
|
|
|
|
INCLUDEPATHS= \
|
|
-I"C:\boost-1.50.0-mgw" \
|
|
-I"C:\db-4.8.30.NC-mgw\build_unix" \
|
|
-I"C:\openssl-1.0.1c-mgw\include"
|
|
|
|
LIBPATHS= \
|
|
-L"C:\boost-1.50.0-mgw\stage\lib" \
|
|
-L"C:\db-4.8.30.NC-mgw\build_unix" \
|
|
-L"C:\openssl-1.0.1c-mgw"
|
|
|
|
LIBS= \
|
|
-l boost_system-mgw45-mt-s-1_50 \
|
|
-l boost_filesystem-mgw45-mt-s-1_50 \
|
|
-l boost_program_options-mgw45-mt-s-1_50 \
|
|
-l boost_thread-mgw45-mt-s-1_50 \
|
|
-l boost_chrono-mgw45-mt-s-1_50 \
|
|
-l db_cxx \
|
|
-l ssl \
|
|
-l crypto
|
|
|
|
DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
|
|
DEBUGFLAGS=-g
|
|
CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
|
|
# enable: ASLR, DEP and large address aware
|
|
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware
|
|
|
|
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
|
|
|
|
ifndef USE_UPNP
|
|
override USE_UPNP = -
|
|
endif
|
|
ifneq (${USE_UPNP}, -)
|
|
INCLUDEPATHS += -I"C:\miniupnpc-1.6-mgw"
|
|
LIBPATHS += -L"C:\miniupnpc-1.6-mgw"
|
|
LIBS += -l miniupnpc -l iphlpapi
|
|
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
|
|
endif
|
|
|
|
ifneq (${USE_IPV6}, -)
|
|
DEFS += -DUSE_IPV6=$(USE_IPV6)
|
|
endif
|
|
|
|
LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
|
|
|
|
# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
|
|
HEADERS = $(wildcard *.h)
|
|
|
|
OBJS= \
|
|
obj/alert.o \
|
|
obj/version.o \
|
|
obj/checkpoints.o \
|
|
obj/netbase.o \
|
|
obj/addrman.o \
|
|
obj/crypter.o \
|
|
obj/key.o \
|
|
obj/db.o \
|
|
obj/init.o \
|
|
obj/irc.o \
|
|
obj/keystore.o \
|
|
obj/main.o \
|
|
obj/net.o \
|
|
obj/protocol.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/hash.o \
|
|
obj/bloom.o \
|
|
obj/noui.o \
|
|
obj/leveldb.o \
|
|
obj/txdb.o
|
|
|
|
|
|
all: bitcoind.exe
|
|
|
|
test check: test_bitcoin.exe FORCE
|
|
test_bitcoin.exe
|
|
|
|
#
|
|
# LevelDB support
|
|
#
|
|
LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a
|
|
DEFS += $(addprefix -I,$(CURDIR)/leveldb/include)
|
|
DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
|
|
# TODO: If this fails, try adding a ranlib libleveldb.a && ranlib libmemenv.a
|
|
leveldb/libleveldb.a:
|
|
cd leveldb && $(MAKE) libleveldb.a libmemenv.a && cd ..
|
|
obj/leveldb.o: leveldb/libleveldb.a
|
|
|
|
obj/%.o: %.cpp $(HEADERS)
|
|
g++ -c $(CFLAGS) -o $@ $<
|
|
|
|
bitcoind.exe: $(OBJS:obj/%=obj/%)
|
|
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
|
|
|
|
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
|
|
|
|
obj-test/%.o: test/%.cpp $(HEADERS)
|
|
g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<
|
|
|
|
test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
|
|
g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS)
|
|
|
|
clean:
|
|
-del /Q bitcoind test_bitcoin
|
|
-del /Q obj\*
|
|
-del /Q obj-test\*
|
|
|
|
FORCE:
|