Create 'Makefile'. Make code compile on Linux. (Still does not link.)

Changes include:
Passing objects through ... is a no no.
Don't include windows.h on non-Windows
_vsnprintf doesn't exist on non-Windows
A map's first type is const, so a lot of code had to be changed from 'uint160&' to 'const uint160&'
itoa not available on non-Windows
Fix macro silliness when a parameter to a macro contains a comma.
<: is a digraph, so don't use "...shared_ptr<::google::..."
Must match filename case
Add const-correct 'escape' function to SqliteDatabase
Add const-correct 'begin' function to uint160
This commit is contained in:
JoelKatz
2011-11-07 13:18:13 -08:00
parent aa7946dcfd
commit beef9b47d5

108
Makefile Normal file
View File

@@ -0,0 +1,108 @@
# 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.
CXX=g++ -I/packages/openssl-1.0.0/include
WXINCLUDEPATHS=$(shell wx-config --cxxflags)
WXLIBS=$(shell wx-config --libs)
#USE_UPNP:=0
DEFS=-DNOPCH -DUSE_SSL
LIBS= \
-Wl,-Bstatic \
-l boost_system-mt \
-l boost_filesystem-mt \
-l boost_program_options-mt \
-l boost_thread-mt \
/packages/openssl-1.0.0/libssl.a /packages/openssl-1.0.0/libcrypto.a
ifdef USE_UPNP
LIBS += -l miniupnpc
DEFS += -DUSE_UPNP=$(USE_UPNP)
endif
LIBS+= \
-Wl,-Bdynamic \
-l z \
-l dl \
-l pthread
DEBUGFLAGS=-g -D__WXDEBUG__
CXXFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS)
HEADERS = \
Application.h \
base58.h \
bignum.h \
BitcoinUtil.h \
CallRPC.h \
Config.h \
ConnectionPool.h \
Conversion.h \
HttpReply.h \
HttpRequest.h \
key.h \
keystore.h \
KnownNodeList.h \
Ledger.h \
LedgerHistory.h \
LedgerMaster.h \
NetworkThread.h \
NewcoinAddress.h \
PackedMessage.h \
PeerDoor.h \
Peer.h \
RequestParser.h \
RPCCommands.h \
RPCDoor.h \
RPC.h \
RPCServer.h \
script.h \
SecureAllocator.h \
TimingService.h \
TransactionBundle.h \
Transaction.h \
types.h \
uint256.h \
UniqueNodeList.h \
ValidationCollection.h \
Wallet.h
SRCS= \
Application.cpp HttpReply.cpp main.cpp RPCCommands.cpp Transaction.cpp \
BitcoinUtil.cpp keystore.cpp NewcoinAddress.cpp rpc.cpp UniqueNodeList.cpp \
CallRPC.cpp KnownNodeList.cpp PackedMessage.cpp RPCDoor.cpp ValidationCollection.cpp \
Config.cpp Ledger.cpp Peer.cpp RPCServer.cpp Wallet.cpp \
ConnectionPool.cpp LedgerHistory.cpp PeerDoor.cpp TimingService.cpp \
Conversion.cpp LedgerMaster.cpp RequestParser.cpp TransactionBundle.cpp
OBJS= $(SRCS:%.cpp=obj/%.o) cryptopp/obj/sha.o cryptopp/obj/cpu.o
all: newcoind
obj/%.o: %.cpp $(HEADERS)
$(CXX) -c $(CXXFLAGS) -o $@ $<
cryptopp/obj/%.o: cryptopp/%.cpp
$(CXX) -c $(CXXFLAGS) -O3 -o $@ $<
obj/%.o: %.cpp $(HEADERS)
$(CXX) -c $(CXXFLAGS) -o $@ $<
newcoin.pb.h: newcoin.proto
protoc --cpp_out=. newcoin.proto
newcoind: newcoin.pb.h $(OBJS)
$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
clean:
-rm -f newcoind
-rm -f obj/*.o
-rm -f obj/test/*.o
-rm -f cryptopp/obj/*.o
-rm -f headers.h.gch