BOINC_LIB_DIR = $(BOINC_DIR)/lib
CC = g++
COMMON_LIB_DIR = /usr/lib
-INCLUDES = -I../../../Common/rt\ api -I$(BOINC_DIR) -I$(BOINC_LIB_DIR) -I$(BOINC_API_DIR) -I/usr/local/cuda/include
+CUDA_PATH = /usr/local/cuda
+INCLUDES = -I../../../Common/rt\ api -I$(BOINC_DIR) -I$(BOINC_LIB_DIR) \
+ -I$(BOINC_API_DIR) -I$(CUDA_PATH)/include
COMMON_API_PATH = ../../../Common/rt\ api
OPTIMIZATION = -O3
-WARNALL = -Wextra -Wunused-macros -Wunsafe-loop-optimizations -Wundef -Woverlength-strings -Wdisabled-optimization -Wformat-extra-args -Wformat-security -Winline
+WARNALL = -Wextra -Wunused-macros -Wunsafe-loop-optimizations -Wundef \
+ -Woverlength-strings -Wdisabled-optimization -Wformat-extra-args \
+ -Wformat-security -Winline
-# -static -static-libgcc
-CXXFLAGS = -Wall -static-libgcc -ansi -c -DBOINC $(INCLUDES) $(OPTIMIZATION) $(DEBUG)
+CXXFLAGS = -Wall -static -static-libgcc -ansi -c -DBOINC $(INCLUDES) \
+ $(OPTIMIZATION) $(DEBUG)
-# -static-libgcc
-LFLAGS = -Wall -static-libgcc -ansi $(INCLUDES) $(OPTIMIZATION) -L$(BOINC_API_DIR) \
- -L$(BOINC_LIB_DIR) -L/usr/X11R6/lib -L/usr/lib -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib -L. $(DEBUG)
+# -static
+LFLAGS = -Wall -static-libgcc -ansi $(INCLUDES) $(OPTIMIZATION) \
+ -L$(BOINC_API_DIR) -L$(BOINC_LIB_DIR) -L/usr/X11R6/lib -L/usr/lib \
+ -L$(CUDA_PATH)/lib64 -L$(CUDA_PATH)/lib -L. -Xlinker -rpath . \
+ $(DEBUG)
-LIBS = -lboinc_api -lboinc -lpthread -lssl -lcudart libstdc++.a $(COMMON_LIB_DIR)/libssl.a $(COMMON_LIB_DIR)/libpthread.a
-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
+LIBS = -lboinc_api -lboinc -lpthread -lcudart libcudart.so.3 libgcc_s.so.1 \
+ libstdc++.so.6 $(COMMON_LIB_DIR)/libpthread.a
+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
OSNAME = $(shell uname -s)
all: distrrtgen
-distrrtgen: libstdc++.a $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS)
+distrrtgen: libcudart.so.3 libgcc_s.so.1 libstdc++.so.6 $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a $(OBJS)
$(CXX) $(LFLAGS) $(OBJS) $(LIBS) -o distrrtgen
-libstdc++.a:
- ln -s `$(CC) $(CXXFLAGS) -print-file-name=libstdc++.a`
+libcudart.so.3:
+ ln -s $(CUDA_PATH)/lib64/libcudart.so.3 libcudart.so.3
+
+libstdc++.so.6:
+ ln -s `$(CC) $(CXXFLAGS) -print-file-name=libstdc++.so.6`
+
+libgcc_s.so.1:
+ ln -s `$(CC) $(CXXFLAGS) -print-file-name=libgcc_s.so.1`
clean:
/bin/rm -f distrrtgen *.o
debugall: all
distclean:
- /bin/rm -f distrrtgen *.o libstdc++.a
+ /bin/rm -f distrrtgen *.o libcudart.so.3 libgcc_s.so.1 libstdc++.so.6
rebuild: clean all
$(CXX) $(CXXFLAGS) rcuda_ext.cpp
rcuda.o: rcuda.h rcuda.cu $(COMMON_API_PATH)/Public.h $(COMMON_API_PATH)/global.h
- /usr/local/cuda/bin/nvcc $(OPTIMIZATION) $(DEBUG) -I../../../Common/rt\ api --compile rcuda.cu
-# /usr/local/cuda/bin/nvcc -G $(DEBUG) --machine 32 -I../../../Common/rt\ api --compile rcuda.cu
+ $(CUDA_PATH)/bin/nvcc $(OPTIMIZATION) $(DEBUG) -I../../../Common/rt\ api --compile rcuda.cu
+# $(CUDA_PATH)/bin/nvcc -G $(DEBUG) --machine 32 -I../../../Common/rt\ api --compile rcuda.cu