forked from samr7/vanitygen
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathMakefile
76 lines (63 loc) · 2.79 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
LIBS=-lm -lpthread -lhs
CFLAGS=-Wall -Wextra -Winline
OBJS=vanitygen.o oclvanitygen.o oclvanityminer.o oclengine.o keyconv.o pattern.o util.o cashaddr.o
PROGS=vanitygen keyconv oclvanitygen oclvanityminer
# OPTIMIZE
# -O0 = no optimization
# -O3 = good optimization
# -Ofast -march=native = aggressive optimization
# -Os = small file size
# -Og -g -ggdb debugging
CFLAGS+=-Ofast
PLATFORM=$(shell uname -s)
ifeq ($(PLATFORM),Darwin)
ifneq ($(wildcard /usr/local/opt/gcc/bin/*),)
CC=g++-8
else
# support for Xcode/clang
CC=g++
CFLAGS+=-std=c++14
endif
ifneq ($(wildcard /usr/local/opt/[email protected]/lib/*),)
LIBS+=/usr/local/opt/[email protected]/lib/libcrypto.a
CFLAGS+=-I/usr/local/opt/[email protected]/include
else
LIBS+=/usr/local/opt/openssl/lib/libcrypto.a
CFLAGS+=-I/usr/local/opt/openssl/include
endif
OPENCL_LIBS=-framework OpenCL
LIBS+=-L/usr/local/opt/hyperscan/lib
CFLAGS+=-I/usr/local/opt/hyperscan/include
# Below 2 lines add support for MacPorts
LIBS+=-L/opt/local/lib
CFLAGS+=-I/opt/local/include
else
LIBS+=-lcrypto
CC=g++-7
OPENCL_LIBS=-lOpenCL
endif
most: vanitygen
all: vanitygen oclvanitygen
vanitygen: vanitygen.o pattern.o util.o cashaddr.o
$(CC) $^ -o $@-cash $(CFLAGS) $(LIBS)
oclvanitygen: oclvanitygen.o oclengine.o pattern.o util.o cashaddr.o
$(CC) $^ -o $@-cash $(CFLAGS) $(LIBS) $(OPENCL_LIBS)
oclvanityminer: oclvanityminer.o oclengine.o pattern.o util.o cashaddr.o
$(CC) $^ -o $@ $(CFLAGS) $(LIBS) $(OPENCL_LIBS) -lcurl
keyconv: keyconv.o util.o cashaddr.o
$(CC) $^ -o $@ $(CFLAGS) $(LIBS)
static_Linux: vanitygen.o pattern.o util.o cashaddr.o
$(CC) $^ -Wl,-rpath,. -o static_vanitygen-cash $(CFLAGS) -static-libstdc++ -static-libgcc $(LIBS)
static_Linux_ocl: oclvanitygen.o oclengine.o pattern.o util.o cashaddr.o
$(CC) $^ -Wl,-rpath,. -o static_oclvanitygen-cash $(CFLAGS) -static-libstdc++ -static-libgcc $(LIBS) $(OPENCL_LIBS)
static_Mac: vanitygen.o pattern.o util.o cashaddr.o
$(CC) $^ -o static_vanitygen-cash $(CFLAGS) -static-libstdc++ -static-libgcc $(LIBS)
install_name_tool -change /usr/local/opt/hyperscan/lib/libhs.4.dylib @executable_path/libhs.4.dylib static_vanitygen-cash
static_Mac_ocl: oclvanitygen.o oclengine.o pattern.o util.o cashaddr.o
$(CC) $^ -o static_oclvanitygen-cash $(CFLAGS) -static-libstdc++ -static-libgcc $(LIBS) $(OPENCL_LIBS)
install_name_tool -change /usr/local/opt/hyperscan/lib/libhs.4.dylib @executable_path/libhs.4.dylib static_oclvanitygen-cash
clean:
# DON'T RUN IF YOU DO `make -f` or `--file`
rm -rf vanitygen-cash.dSYM keyconv.dSYM oclvanitygen-cash.dSYM oclvanityminer.dSYM *.o *vanitygen-cash keyconv *.oclbin *miner *plist *.a
format:
clang-format -i -verbose -style=file cashaddr.c cashaddr.h keyconv.c oclengine.c pattern.c pattern.h util.c vanitygen.c avl.h oclengine.h oclvanitygen.c oclvanityminer.c util.h winglue.c winglue.h