1 # freerainbowtables is a project for generating, distributing, and using
2 # perfect rainbow tables
4 # Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
5 # Copyright 2010 Martin Westergaard Jørgensen <martinwj2005@gmail.com>
6 # Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>
7 # Copyright 2009, 2010 James Nobis <frt@quelrod.net>
9 # This file is part of freerainbowtables.
11 # freerainbowtables is free software: you can redistribute it and/or modify
12 # it under the terms of the GNU General Public License as published by
13 # the Free Software Foundation, either version 2 of the License, or
14 # (at your option) any later version.
16 # freerainbowtables is distributed in the hope that it will be useful,
17 # but WITHOUT ANY WARRANTY; without even the implied warranty of
18 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 # GNU General Public License for more details.
21 # You should have received a copy of the GNU General Public License
22 # along with freerainbowtables. If not, see <http://www.gnu.org/licenses/>.
26 #BOINC_DIR = /home/ubuntu/boinc
27 BOINC_DIR = /usr/share/boinc-dev
28 BOINC_API_DIR = $(BOINC_DIR)/api
29 BOINC_LIB_DIR = $(BOINC_DIR)/lib
31 COMMON_LIB_DIR = /usr/lib
32 INCLUDES = -I../../../Common/rt\ api -I$(BOINC_DIR) -I$(BOINC_LIB_DIR) -I$(BOINC_API_DIR) -I/usr/local/cuda/include
33 COMMON_API_PATH = ../../../Common/rt\ api
36 WARNALL = -Wextra -Wunused-macros -Wunsafe-loop-optimizations -Wundef -Woverlength-strings -Wdisabled-optimization -Wformat-extra-args -Wformat-security -Winline
38 # -static -static-libgcc
39 CXXFLAGS = -Wall -ansi -c -DBOINC $(INCLUDES) $(OPTIMIZATION) $(DEBUG)
42 LFLAGS = -Wall -ansi $(INCLUDES) $(OPTIMIZATION) -L$(BOINC_API_DIR) \
43 -L$(BOINC_LIB_DIR) -L/usr/X11R6/lib -L/usr/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -L. $(DEBUG)
45 LIBS = -lboinc_api -lboinc -lpthread -lssl -lcudart libstdc++.a $(COMMON_LIB_DIR)/libssl.a $(COMMON_LIB_DIR)/libpthread.a
46 OBJS = ChainWalkContext.o des_enc.o des_setkey.o distrrtgen.o ecb_enc.o HashAlgorithm.o HashRoutine.o md4.o md5.o Public.o rcuda_ext.o rcuda.o
48 OSNAME = $(shell uname -s)
52 distrrtgen: libstdc++.a $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS)
53 $(CXX) $(LFLAGS) $(OBJS) $(LIBS) -o distrrtgen
56 ln -s `$(CC) $(CXXFLAGS) -print-file-name=libstdc++.a`
59 /bin/rm -f distrrtgen *.o
61 debug: DEBUG += -DDEBUG -g
64 debugall: DEBUG += -DDEBUG -g $(WARNALL)
68 /bin/rm -f distrrtgen *.o libstdc++.a
75 ChainWalkContext.o: $(COMMON_API_PATH)/ChainWalkContext.h $(COMMON_API_PATH)/ChainWalkContext.cpp $(COMMON_API_PATH)/HashRoutine.h $(COMMON_API_PATH)/Public.h
76 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/ChainWalkContext.cpp
78 des_enc.o: $(COMMON_API_PATH)/des_enc.c $(COMMON_API_PATH)/des_locl.h $(COMMON_API_PATH)/spr.h
79 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/des_enc.c
81 des_setkey.o: $(COMMON_API_PATH)/des_setkey.c $(COMMON_API_PATH)/des_locl.h $(COMMON_API_PATH)/podd.h $(COMMON_API_PATH)/sk.h
82 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/des_setkey.c
84 distrrtgen.o: distrrtgen.cpp distrrtgen.h $(COMMON_API_PATH)/ChainWalkContext.h $(COMMON_API_PATH)/Public.h
85 $(CXX) $(CXXFLAGS) distrrtgen.cpp
87 ecb_enc.o: $(COMMON_API_PATH)/ecb_enc.c $(COMMON_API_PATH)/des_locl.h $(COMMON_API_PATH)/spr.h
88 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/ecb_enc.c
90 HashAlgorithm.o: $(COMMON_API_PATH)/HashAlgorithm.h $(COMMON_API_PATH)/HashAlgorithm.cpp $(COMMON_API_PATH)/Public.h $(COMMON_API_PATH)/md4.h
91 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/HashAlgorithm.cpp
93 HashRoutine.o: $(COMMON_API_PATH)/HashRoutine.h $(COMMON_API_PATH)/HashRoutine.cpp $(COMMON_API_PATH)/global.h $(COMMON_API_PATH)/HashAlgorithm.h
94 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/HashRoutine.cpp
96 md4.o: $(COMMON_API_PATH)/md4.h $(COMMON_API_PATH)/md4.cpp $(COMMON_API_PATH)/global.h
97 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/md4.cpp
99 md5.o: $(COMMON_API_PATH)/md5.h $(COMMON_API_PATH)/md5.cpp $(COMMON_API_PATH)/global.h
100 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/md5.cpp
102 Public.o: $(COMMON_API_PATH)/Public.h $(COMMON_API_PATH)/Public.cpp $(COMMON_API_PATH)/global.h
103 $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/Public.cpp
105 rcuda_ext.o: rcuda_ext.h rcuda_ext.cpp $(COMMON_API_PATH)/ChainWalkContext.h
106 $(CXX) $(CXXFLAGS) rcuda_ext.cpp
108 rcuda.o: rcuda.h rcuda.cu $(COMMON_API_PATH)/Public.h $(COMMON_API_PATH)/global.h
109 /usr/local/cuda/bin/nvcc -I../../../Common/rt\ api --compile rcuda.cu
110 # /usr/local/cuda/bin/nvcc --machine 32 -I../../../Common/rt\ api --compile rcuda.cu