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)
128 lines
3.5 KiB
Text
128 lines
3.5 KiB
Text
# 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.
|
|
|
|
DEPSDIR:=/usr/i586-mingw32msvc
|
|
|
|
USE_UPNP:=0
|
|
USE_IPV6:=1
|
|
|
|
INCLUDEPATHS= \
|
|
-I"$(CURDIR)" \
|
|
-I"$(CURDIR)"/obj \
|
|
-I"$(DEPSDIR)/boost_1_50_0" \
|
|
-I"$(DEPSDIR)/db-4.8.30.NC/build_unix" \
|
|
-I"$(DEPSDIR)/openssl-1.0.1c/include" \
|
|
-I"$(DEPSDIR)"
|
|
|
|
LIBPATHS= \
|
|
-L"$(DEPSDIR)/boost_1_50_0/stage/lib" \
|
|
-L"$(DEPSDIR)/db-4.8.30.NC/build_unix" \
|
|
-L"$(DEPSDIR)/openssl-1.0.1c"
|
|
|
|
LIBS= \
|
|
-l boost_system-mt-s \
|
|
-l boost_filesystem-mt-s \
|
|
-l boost_program_options-mt-s \
|
|
-l boost_thread_win32-mt-s \
|
|
-l boost_chrono-mt-s \
|
|
-l db_cxx \
|
|
-l ssl \
|
|
-l crypto
|
|
|
|
DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
|
|
DEBUGFLAGS=-g
|
|
CFLAGS=-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}, -)
|
|
LIBPATHS += -L"$(DEPSDIR)/miniupnpc"
|
|
LIBS += -l miniupnpc -l iphlpapi
|
|
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
|
|
endif
|
|
|
|
ifneq (${USE_IPV6}, -)
|
|
DEFS += -DUSE_IPV6=$(USE_IPV6)
|
|
endif
|
|
|
|
LIBS += -l mingwthrd -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/noui.o \
|
|
obj/hash.o \
|
|
obj/bloom.o \
|
|
obj/leveldb.o \
|
|
obj/txdb.o
|
|
|
|
all: bitcoind.exe
|
|
|
|
LIBS += $(CURDIR)/leveldb/libleveldb.a $(CURDIR)/leveldb/libmemenv.a
|
|
DEFS += -I"$(CURDIR)/leveldb/include"
|
|
DEFS += -I"$(CURDIR)/leveldb/helpers"
|
|
leveldb/libleveldb.a:
|
|
@echo "Building LevelDB ..." && cd leveldb && CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ TARGET_OS=OS_WINDOWS_CROSSCOMPILE CXXFLAGS="-I$(INCLUDEPATHS)" LDFLAGS="-L$(LIBPATHS)" $(MAKE) libleveldb.a libmemenv.a && i586-mingw32msvc-ranlib libleveldb.a && i586-mingw32msvc-ranlib libmemenv.a && cd ..
|
|
obj/leveldb.o: leveldb/libleveldb.a
|
|
|
|
obj/build.h: FORCE
|
|
/bin/sh ../share/genbuild.sh obj/build.h
|
|
version.cpp: obj/build.h
|
|
DEFS += -DHAVE_BUILD_INFO
|
|
|
|
obj/%.o: %.cpp $(HEADERS)
|
|
i586-mingw32msvc-g++ -c $(CFLAGS) -o $@ $<
|
|
|
|
bitcoind.exe: $(OBJS:obj/%=obj/%)
|
|
i586-mingw32msvc-g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
|
|
|
|
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
|
|
|
|
obj-test/%.o: test/%.cpp $(HEADERS)
|
|
i586-mingw32msvc-g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<
|
|
|
|
test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
|
|
i586-mingw32msvc-g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework-mt-s $(LIBS)
|
|
|
|
|
|
clean:
|
|
-rm -f obj/*.o
|
|
-rm -f bitcoind.exe
|
|
-rm -f obj-test/*.o
|
|
-rm -f test_bitcoin.exe
|
|
-rm -f obj/build.h
|
|
|
|
FORCE:
|