Skip to content

Commit 5536a9e

Browse files
anorakthagreatCloakProjectDev
authored andcommitted
makefile.osx fixed
1 parent 617a926 commit 5536a9e

File tree

3 files changed

+203
-67
lines changed

3 files changed

+203
-67
lines changed

cloakcoin-qt.pro

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ QT += core gui network
22
QT += widgets
33
TEMPLATE = app
44
TARGET = cloakcoin-qt
5-
VERSION = 2.2.1.1
5+
VERSION = 2.2.2.2
66
INCLUDEPATH += src src/json src/qt src/tor
77
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES
88
#DEFINES += CURL_STATICLIB
@@ -70,7 +70,7 @@ win32 {
7070
macx {
7171
message(*** osx build ***)
7272

73-
QMAKE_MAC_SDK = macosx10.14
73+
QMAKE_MAC_SDK = macosx10.15
7474
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
7575

7676
#QMAKE_RPATHDIR += /Users/joe/qt/Qt5.7.1/5.7/clang_64/lib

src/leveldb/build_detect_platform

100644100755
File mode changed.

src/makefile.osx

Lines changed: 201 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -6,76 +6,187 @@
66
# Mac OS X makefile for bitcoin
77
# Originally by Laszlo Hanyecz ([email protected])
88

9+
TOR_OBJS := $(shell mkdir -p $(CURDIR)/obj/tor)
10+
ENIGMA_OBJS := $(shell mkdir -p $(CURDIR)/obj/enigma)
11+
12+
CFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
13+
914
CXX=llvm-g++
10-
DEPSDIR=/opt/local
15+
LINK=$(CXX)
16+
DEPSDIR=/usr/local/opt
1117

1218
INCLUDEPATHS= \
1319
-I"$(CURDIR)" \
1420
-I"$(CURDIR)"/obj \
15-
-I"$(DEPSDIR)/include" \
16-
-I"$(DEPSDIR)/include/db48" \
17-
-I"$(CURDIR)/leveldb/include" \
18-
-I"$(CURDIR)/leveldb/helpers"
21+
-I"$(DEPSDIR)/[email protected]/include" \
22+
-I"$(DEPSDIR)/berkeley-db@4/include" \
23+
-I"$(DEPSDIR)/openssl/include" \
24+
-I"$(DEPSDIR)/libevent/include"
1925

2026
LIBPATHS= \
21-
-L"$(DEPSDIR)/lib" \
22-
-L"$(DEPSDIR)/lib/db48" \
23-
-L"$(CURDIR)/leveldb/lib/osx/x64"
27+
-L"$(DEPSDIR)/[email protected]/lib" \
28+
-L"$(DEPSDIR)/berkeley-db@4/lib" \
29+
-L"$(DEPSDIR)/openssl/lib" \
30+
-L"$(DEPSDIR)/libevent/lib"
2431

25-
USE_UPNP:=1
32+
USE_QRCODE:=1
33+
USE_UPNP:=-
2634
USE_IPV6:=1
2735
USE_LEVELDB:=1
36+
RELEASE:=1
2837

2938
LIBS= -dead_strip
3039

3140
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
3241

33-
ifdef STATIC
34-
# Build STATIC if you are redistributing the bitcoind binary
35-
TESTLIBS += \
36-
$(DEPSDIR)/lib/libboost_unit_test_framework-mt.a
37-
LIBS += \
38-
$(DEPSDIR)/lib/db48/libdb_cxx-4.8.a \
39-
$(DEPSDIR)/lib/libboost_system-mt.a \
40-
$(DEPSDIR)/lib/libboost_filesystem-mt.a \
41-
$(DEPSDIR)/lib/libboost_program_options-mt.a \
42-
$(DEPSDIR)/lib/libboost_thread-mt.a \
43-
$(DEPSDIR)/lib/libssl.a \
44-
$(DEPSDIR)/lib/libcrypto.a \
45-
-lz
46-
else
4742
TESTLIBS += \
48-
-lboost_unit_test_framework-mt
43+
-lboost_unit_test_framework
44+
4945
LIBS += \
5046
-ldb_cxx-4.8 \
5147
-lboost_system-mt \
5248
-lboost_filesystem-mt \
5349
-lboost_program_options-mt \
5450
-lboost_thread-mt \
55-
-lleveldb \
56-
-lmemenv \
51+
-levent \
5752
-lssl \
5853
-lcrypto \
5954
-lz
55+
6056
TESTDEFS += -DBOOST_TEST_DYN_LINK
61-
endif
6257

6358
DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE
6459

60+
ifndef USE_UPNP
61+
override USE_UPNP = -
62+
endif
63+
ifndef USE_IPV6
64+
override USE_IPV6 = -
65+
endif
66+
ifndef USE_LEVELDB
67+
override USE_LEVELDB = -
68+
endif
69+
70+
ifneq (${USE_UPNP}, -)
71+
DEFS += -DUSE_UPNP=$(USE_UPNP)
72+
LIBS += -lminiupnpc
73+
endif
74+
75+
ifneq (${USE_IPV6}, -)
76+
DEFS += -DUSE_IPV6=$(USE_IPV6)
77+
endif
78+
79+
ifneq (${USE_LEVELDB}, -)
80+
DEFS += -DUSE_LEVELDB=$(USE_LEVELDB)
81+
endif
82+
83+
ifeq (${USE_LEVELDB}, 1)
84+
LIBS += $(CURDIR)/leveldb/out-static/libleveldb.a $(CURDIR)/leveldb/out-static/libmemenv.a
85+
DEFS += $(addprefix -I,$(CURDIR)/leveldb/include)
86+
DEFS += $(addprefix -I,$(CURDIR)/leveldb/helpers)
87+
endif
88+
6589
ifdef RELEASE
66-
# Compile for maximum compatibility and smallest size.
67-
# This requires that dependencies are compiled
68-
# the same way.
69-
CFLAGS = -mmacosx-version-min=10.5 -arch x86_64 -O3 -msse2
90+
CFLAGS += -mmacosx-version-min=10.7 -arch x86_64 -O3 -msse2 -stdlib=libc++
7091
else
71-
CFLAGS = -g -msse2
92+
CFLAGS += -g -msse2
7293
endif
7394

7495
# ppc doesn't work because we don't support big-endian
7596
CFLAGS += -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
7697
$(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
7798

99+
xCXXFLAGS = $(CFLAGS)
100+
78101
OBJS= \
102+
obj/tor/address.o \
103+
obj/tor/addressmap.o \
104+
obj/tor/aes.o \
105+
obj/tor/backtrace.o \
106+
obj/tor/buffers.o \
107+
obj/tor/channel.o \
108+
obj/tor/channeltls.o \
109+
obj/tor/circpathbias.o \
110+
obj/tor/circuitbuild.o \
111+
obj/tor/circuitlist.o \
112+
obj/tor/circuitmux.o \
113+
obj/tor/circuitmux_ewma.o \
114+
obj/tor/circuitstats.o \
115+
obj/tor/circuituse.o \
116+
obj/tor/command.o \
117+
obj/tor/compat.o \
118+
obj/tor/compat_libevent.o \
119+
obj/tor/config.o \
120+
obj/tor/config_codedigest.o \
121+
obj/tor/confparse.o \
122+
obj/tor/connection.o \
123+
obj/tor/connection_edge.o \
124+
obj/tor/connection_or.o \
125+
obj/tor/container.o \
126+
obj/tor/control.o \
127+
obj/tor/cpuworker.o \
128+
obj/tor/crypto.o \
129+
obj/tor/crypto_curve25519.o \
130+
obj/tor/crypto_format.o \
131+
obj/tor/curve25519-donna.o \
132+
obj/tor/di_ops.o \
133+
obj/tor/directory.o \
134+
obj/tor/dirserv.o \
135+
obj/tor/dirvote.o \
136+
obj/tor/dns.o \
137+
obj/tor/dnsserv.o \
138+
obj/tor/entrynodes.o \
139+
obj/tor/ext_orport.o \
140+
obj/tor/fp_pair.o \
141+
obj/tor/geoip.o \
142+
obj/tor/hibernate.o \
143+
obj/tor/log.o \
144+
obj/tor/memarea.o \
145+
obj/tor/mempool.o \
146+
obj/tor/microdesc.o \
147+
obj/tor/networkstatus.o \
148+
obj/tor/nodelist.o \
149+
obj/tor/onion.o \
150+
obj/tor/onion_fast.o \
151+
obj/tor/onion_main.o \
152+
obj/tor/onion_ntor.o \
153+
obj/tor/onion_tap.o \
154+
obj/tor/policies.o \
155+
obj/tor/procmon.o \
156+
obj/tor/reasons.o \
157+
obj/tor/relay.o \
158+
obj/tor/rendclient.o \
159+
obj/tor/rendcommon.o \
160+
obj/tor/rendmid.o \
161+
obj/tor/rendservice.o \
162+
obj/tor/rephist.o \
163+
obj/tor/replaycache.o \
164+
obj/tor/router.o \
165+
obj/tor/routerlist.o \
166+
obj/tor/routerparse.o \
167+
obj/tor/routerset.o \
168+
obj/tor/sandbox.o \
169+
obj/tor/statefile.o \
170+
obj/tor/status.o \
171+
obj/tor/torgzip.o \
172+
obj/tor/tortls.o \
173+
obj/tor/tor_util.o \
174+
obj/tor/transports.o \
175+
obj/tor/util_codedigest.o \
176+
obj/tor/cloak.o \
177+
obj/fugue.o \
178+
obj/hamsi.o \
179+
obj/groestl.o \
180+
obj/blake.o \
181+
obj/bmw.o \
182+
obj/skein.o \
183+
obj/keccak.o \
184+
obj/shavite.o \
185+
obj/jh.o \
186+
obj/luffa.o \
187+
obj/cubehash.o \
188+
obj/echo.o \
189+
obj/simd.o \
79190
obj/alert.o \
80191
obj/version.o \
81192
obj/checkpoints.o \
@@ -103,35 +214,28 @@ OBJS= \
103214
obj/wallet.o \
104215
obj/walletdb.o \
105216
obj/noui.o \
106-
obj/pbkdf2.o \
107217
obj/kernel.o \
218+
obj/pbkdf2.o \
219+
obj/scrypt.o \
108220
obj/scrypt_mine.o \
109221
obj/scrypt-x86.o \
110222
obj/scrypt-x86_64.o \
223+
obj/scrypt-arm.o \
111224
obj/stealth.o \
112-
obj/conemarketcreatelisting.o \
113-
obj/onemarket.o \
114225
obj/enigma/cloakingdata.o \
115226
obj/enigma/cloakingrequest.o \
116227
obj/enigma/enigmapeer.o \
117228
obj/enigma/cloakshield.o \
229+
obj/enigma/encryption.o \
118230
obj/enigma/enigmaann.o \
231+
obj/enigma/enigmapeer.o \
119232
obj/enigma/enigma.o
120233

121-
ifndef USE_UPNP
122-
override USE_UPNP = -
123-
endif
124-
ifneq (${USE_UPNP}, -)
125-
DEFS += -DUSE_UPNP=$(USE_UPNP)
126-
ifdef STATIC
127-
LIBS += $(DEPSDIR)/lib/libminiupnpc.a
128-
else
129-
LIBS += -lminiupnpc
130-
endif
234+
ifeq (${USE_LEVELDB}, 1)
235+
OBJS += obj/txdb-leveldb.o
131236
endif
132-
133-
ifneq (${USE_IPV6}, -)
134-
DEFS += -DUSE_IPV6=$(USE_IPV6)
237+
ifneq (${USE_LEVELDB}, 1)
238+
OBJS += obj/txdb-bdb.o
135239
endif
136240

137241
all: cloakcoind
@@ -148,44 +252,76 @@ obj/build.h: FORCE
148252
version.cpp: obj/build.h
149253
DEFS += -DHAVE_BUILD_INFO
150254

255+
obj/scrypt-x86.o: scrypt-x86.S
256+
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
257+
258+
obj/scrypt-x86_64.o: scrypt-x86_64.S
259+
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
260+
261+
obj/scrypt-arm.o: scrypt-arm.S
262+
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
263+
151264
obj/%.o: %.cpp
152-
$(CXX) -c $(CFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
265+
$(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
153266
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
154267
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
155268
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
156269
rm -f $(@:%.o=%.d)
157270

158-
obj/scrypt-x86.o: scrypt-x86.S
159-
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
271+
obj/tor/%.o: tor/%.c
272+
$(CC) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
273+
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
274+
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
275+
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
276+
rm -f $(@:%.o=%.d)
160277

161-
obj/scrypt-x86_64.o: scrypt-x86_64.S
162-
$(CXX) -c $(xCXXFLAGS) -MMD -o $@ $<
278+
obj/tor/%.o: tor/cloak.cpp
279+
$(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
280+
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
281+
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
282+
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
283+
rm -f $(@:%.o=%.d)
284+
285+
obj/enigma/%.o: enigma/%.cpp
286+
$(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.dx) -o $@ $<
287+
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
288+
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
289+
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
290+
rm -f $(@:%.o=%.d)
291+
292+
obj/%.o: %.c
293+
$(CXX) -c $(xCXXFLAGS) -fpermissive -MMD -MF $(@:%.o=%.d) -o $@ $<
294+
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
295+
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
296+
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
297+
rm -f $(@:%.o=%.d)
163298

164299
cloakcoind: $(OBJS:obj/%=obj/%)
165-
$(CXX) $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
300+
$(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(xLDFLAGS) $(LIBS)
166301

167302
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
168303

169304
obj-test/%.o: test/%.cpp
170-
$(CXX) -c $(TESTDEFS) $(CFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
305+
$(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $<
171306
@cp $(@:%.o=%.d) $(@:%.o=%.P); \
172307
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
173308
-e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \
174309
rm -f $(@:%.o=%.d)
175310

176311
test_cloakcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
177-
$(CXX) $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) $(TESTLIBS)
312+
$(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ $(xLDFLAGS) $(TESTLIBS)
178313

179314
clean:
180315
-rm -f cloakcoind test_cloakcoin
181-
-rm -f obj/*.o
182-
-rm -f obj-test/*.o
183-
-rm -f obj/*.P
184-
-rm -f obj-test/*.P
185-
-rm -f obj/build.h
186-
-rm -f obj/tor/*.o
187-
-rm -f obj/tor/*.P
188-
-rm -f obj/enigma/*.o
189-
-rm -f obj/enigma/*.P
316+
-rm -f obj/*.o
317+
-rm -f obj-test/*.o
318+
-rm -f obj/*.P
319+
-rm -f obj-test/*.P
320+
-rm -f obj/build.h
321+
-rm -f obj/tor/*.o
322+
-rm -f obj/tor/*.P
323+
-rm -f obj/enigma/*.o
324+
-rm -f obj/enigma/*.P
190325

191326
FORCE:
327+

0 commit comments

Comments
 (0)