Merge pull request #361 from svost/master
[novacoin.git] / src / makefile.bsd
index 09dc14b..c7a2f24 100644 (file)
@@ -2,9 +2,12 @@
 # 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_LEVELDB:=0
 USE_IPV6:=1
+ARCH:=$(uname -m)
+
+# CC:=clang
+# CXX:=clang++
 
 LINK:=$(CXX)
 
@@ -34,14 +37,6 @@ LIBS += \
    -l crypto \
    -l execinfo
 
-ifndef USE_UPNP
-       override USE_UPNP = -
-endif
-ifneq (${USE_UPNP}, -)
-       LIBS += -l miniupnpc
-       DEFS += -DUSE_UPNP=$(USE_UPNP)
-endif
-
 ifneq (${USE_IPV6}, -)
        DEFS += -DUSE_IPV6=$(USE_IPV6)
 endif
@@ -88,20 +83,18 @@ LIBS+= \
 
 DEBUGFLAGS=-g
 
+ifeq (${ARCH}, i386)
+    EXT_OPTIONS=-msse2
+endif
+
 xOPT_LEVEL=-O2
 ifeq (${USE_O3}, 1)
     xOPT_LEVEL=-O3
 endif
 
-ifeq  (${USE_SSSE3}, 1)
-# Intrinsic implementation of block copy
-DEFS += -DUSE_SSSE3
-xOPT_LEVEL += -mssse3
-endif
-
 # CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only
 # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work.
-xCXXFLAGS=$(xOPT_LEVEL) -msse2 -pthread -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter \
+xCXXFLAGS=$(xOPT_LEVEL) $(EXT_OPTIONS) -pthread -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter \
     $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
 
 # LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only
@@ -115,6 +108,7 @@ OBJS= \
     obj/netbase.o \
     obj/addrman.o \
     obj/crypter.o \
+    obj/base58.o \
     obj/key.o \
     obj/db.o \
     obj/init.o \
@@ -127,6 +121,7 @@ OBJS= \
     obj/stun.o \
     obj/protocol.o \
     obj/bitcoinrpc.o \
+    obj/rpccrypt.o \
     obj/rpcdump.o \
     obj/rpcnet.o \
     obj/rpcmining.o \
@@ -139,7 +134,11 @@ OBJS= \
     obj/wallet.o \
     obj/walletdb.o \
     obj/noui.o \
-    obj/kernel.o
+    obj/kernel.o \
+    obj/kernel_worker.o \
+    obj/ecies.o \
+    obj/cryptogram.o \
+    obj/ipcollector.o
 
 all: novacoind
 
@@ -152,7 +151,7 @@ DEFS += $(addprefix -I,$(CURDIR)/leveldb/include) -DUSE_LEVELDB
 DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
 OBJS += obj/txdb-leveldb.o
 leveldb/libleveldb.a:
-       @echo "Building LevelDB ..."; cd leveldb; gmake libleveldb.a libmemenv.a; cd ..;
+       @echo "Building LevelDB ..."; cd leveldb; CC=$(CC) CXX=$(CXX) gmake libleveldb.a libmemenv.a; cd ..;
 obj/txdb-leveldb.o: leveldb/libleveldb.a
 endif
 ifneq (${USE_LEVELDB}, 1)
@@ -165,7 +164,6 @@ DEFS += -DUSE_ASM
 
 # Assembler implementation
 OBJS += crypto/scrypt/asm/obj/scrypt-arm.o crypto/scrypt/asm/obj/scrypt-x86.o crypto/scrypt/asm/obj/scrypt-x86_64.o crypto/scrypt/asm/obj/asm-wrapper.o
-OBJS += crypto/sha2/asm/obj/sha2-arm.o crypto/sha2/asm/obj/sha2-x86.o crypto/sha2/asm/obj/sha2-x86_64.o
 
 crypto/scrypt/asm/obj/scrypt-x86.o: crypto/scrypt/asm/scrypt-x86.S
        $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
@@ -179,15 +177,6 @@ crypto/scrypt/asm/obj/scrypt-arm.o: crypto/scrypt/asm/scrypt-arm.S
 crypto/scrypt/asm/obj/asm-wrapper.o: crypto/scrypt/asm/asm-wrapper.cpp
        $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
 
-crypto/sha2/asm/obj/sha2-x86.o: crypto/sha2/asm/sha2-x86.S
-       $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-
-crypto/sha2/asm/obj/sha2-x86_64.o: crypto/sha2/asm/sha2-x86_64.S
-       $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-
-crypto/sha2/asm/obj/sha2-arm.o: crypto/sha2/asm/sha2-arm.S
-       $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
-
 else
 ifeq  (${USE_SSE2}, 1)
 # Intrinsic implementation
@@ -237,9 +226,6 @@ clean:
        -rm -f crypto/scrypt/generic/obj/*.o
        -rm -f crypto/scrypt/generic/obj/*.P
        -rm -f crypto/scrypt/generic/obj/*.d
-        -rm -f crypto/sha2/asm/obj/*.o
-        -rm -f crypto/sha2/asm/obj/*.P
-        -rm -f crypto/sha2/asm/obj/*.d
        -rm -f obj/build.h
 
 FORCE: