]> git.sesse.net Git - freerainbowtables/blob - BOINC software/BOINC client apps/distrrtgen/Makefile
CrackEngine.h pulls in ChainWalkSet.h through transitive dependencies, so RainbowCrac...
[freerainbowtables] / BOINC software / BOINC client apps / distrrtgen / Makefile
1 # freerainbowtables is a project for generating, distributing, and using
2 # perfect rainbow tables
3 #
4 # Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
5 # Copyright 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>
8 #
9 # This file is part of freerainbowtables.
10 #
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.
15 #
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.
20 #
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/>.
23
24 SHELL = /bin/sh
25
26 #BOINC_DIR = /home/ubuntu/boinc
27 # Debian
28 BOINC_DIR = /usr/share/boinc-dev
29 # FreeBSD
30 #BOINC_DIR = /usr/local/lib
31 # Linux
32 BOINC_API_DIR = $(BOINC_DIR)/api
33 # FreeBSD
34 #BOINC_API_DIR = /usr/local/lib
35 # Linux
36 BOINC_LIB_DIR = $(BOINC_DIR)/lib
37 # FreeBSD
38 #BOINC_LIB_DIR = $(BOINC_DIR)
39 #BOINC_INC_DIR = /usr/local/include/boinc
40 CC = g++
41 COMMON_LIB_DIR = /usr/lib
42 INCLUDES = -I../../../Common/rt\ api -I$(BOINC_DIR) -I$(BOINC_LIB_DIR) -I$(BOINC_API_DIR) -I$(BOINC_INC_DIR)
43 COMMON_API_PATH = ../../../Common/rt\ api
44
45 OPTIMIZATION = -O3
46
47 CXXFLAGS = -g \
48     -static -static-libgcc \
49          -Wall \
50          -c \
51          -DBOINC \
52          $(INCLUDES) \
53          $(OPTIMIZATION) \
54          $(DEBUG)
55
56 LFLAGS = -static -static-libgcc -Wall $(INCLUDES) $(OPTIMIZATION) -L$(BOINC_API_DIR) \
57         -L$(BOINC_LIB_DIR) -L /usr/X11R6/lib -L. $(DEBUG)
58
59 LIBS = -lboinc_api -lboinc -lpthread -lssl libstdc++.a $(COMMON_LIB_DIR)/libssl.a $(COMMON_LIB_DIR)/libpthread.a
60 OBJS = ChainWalkContext.o des_enc.o des_setkey.o distrrtgen.o ecb_enc.o HashAlgorithm.o HashRoutine.o md4.o md5.o Public.o
61
62 OSNAME = $(shell uname -s)
63
64 all: distrrtgen
65
66 distrrtgen: libstdc++.a $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS)
67         $(CXX) $(LFLAGS) $(OBJS) $(LIBS) -o distrrtgen
68
69 libstdc++.a:
70         ln -s `$(CC) $(DEBUG) -print-file-name=libstdc++.a`
71
72 clean:
73         /bin/rm -f distrrtgen *.o
74
75 debug: DEBUG += -DDEBUG -g
76 debug: all
77
78 distclean:
79         /bin/rm -f distrrtgen *.o libstdc++.a
80
81 rebuild: clean all
82
83 ChainWalkContext.o: $(COMMON_API_PATH)/ChainWalkContext.h $(COMMON_API_PATH)/ChainWalkContext.cpp $(COMMON_API_PATH)/HashRoutine.h $(COMMON_API_PATH)/Public.h
84         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/ChainWalkContext.cpp
85
86 des_enc.o: $(COMMON_API_PATH)/des_enc.c $(COMMON_API_PATH)/des_locl.h $(COMMON_API_PATH)/spr.h
87         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/des_enc.c
88
89 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
90         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/des_setkey.c
91
92 distrrtgen.o: distrrtgen.cpp distrrtgen.h $(COMMON_API_PATH)/ChainWalkContext.h $(COMMON_API_PATH)/Public.h
93         $(CXX) $(CXXFLAGS) distrrtgen.cpp
94
95 ecb_enc.o: $(COMMON_API_PATH)/ecb_enc.c $(COMMON_API_PATH)/des_locl.h $(COMMON_API_PATH)/spr.h
96         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/ecb_enc.c
97
98 HashAlgorithm.o: $(COMMON_API_PATH)/HashAlgorithm.h $(COMMON_API_PATH)/HashAlgorithm.cpp $(COMMON_API_PATH)/Public.h $(COMMON_API_PATH)/md4.h $(COMMON_API_PATH)/md5.h
99         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/HashAlgorithm.cpp
100
101 HashRoutine.o: $(COMMON_API_PATH)/HashRoutine.h $(COMMON_API_PATH)/HashRoutine.cpp $(COMMON_API_PATH)/global.h $(COMMON_API_PATH)/HashAlgorithm.h
102         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/HashRoutine.cpp
103
104 md4.o: $(COMMON_API_PATH)/md4.h $(COMMON_API_PATH)/md4.cpp $(COMMON_API_PATH)/global.h
105         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/md4.cpp
106
107 md5.o: $(COMMON_API_PATH)/md5.h $(COMMON_API_PATH)/md5.cpp $(COMMON_API_PATH)/global.h
108         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/md5.cpp
109
110 Public.o: $(COMMON_API_PATH)/Public.h $(COMMON_API_PATH)/Public.cpp $(COMMON_API_PATH)/global.h
111         $(CXX) $(CXXFLAGS) $(COMMON_API_PATH)/Public.cpp