Kaynağa Gözat

Make the Makefile robust enough to compile on monk

Ian Goldberg 14 yıl önce
ebeveyn
işleme
b7e3f9a7f3
1 değiştirilmiş dosya ile 10 ekleme ve 9 silme
  1. 10 9
      Makefile

+ 10 - 9
Makefile

@@ -19,8 +19,9 @@ LIBEVENT=/usr/local
 
 
 WORDS = 24
 WORDS = 24
 
 
-CXXFLAGS=-g -Wall -O0 -DWORDS=$(WORDS) -I$(LIBEVENT)/include
-NVCCOPTS=-g -arch sm_20 --ptxas-options=-v -O2 -DWORDS=$(WORDS)
+CXXFLAGS=-g -Wall -O0
+CPPFLAGS=-DWORDS=$(WORDS) -I$(LIBEVENT)/include -I$(GMP)/include
+NVCCOPTS=-g -arch sm_20 --ptxas-options=-v -O2
 NVCC=nvcc $(NVCCOPTS)
 NVCC=nvcc $(NVCCOPTS)
 
 
 CXXFILES = dlrho.cc gen_N.cc
 CXXFILES = dlrho.cc gen_N.cc
@@ -31,28 +32,28 @@ TARGETS = gen_N dlrho controller dpnode worker
 all: $(TARGETS)
 all: $(TARGETS)
 
 
 gen_N: gen_N.o
 gen_N: gen_N.o
-	g++ -g -Wall $^ -o $@ -lntl -lgmp
+	g++ -g -Wall $^ -o $@ -lntl -L$(GMP)/lib -lgmp
 
 
 dlrho: dlrho.o cudadl.o
 dlrho: dlrho.o cudadl.o
-	g++ -g -Wall $^ -o $@ -lntl -lgmp -L/usr/local/cuda/lib64 -lcudart
+	g++ -g -Wall $^ -o $@ -lntl -L$(GMP)/lib -lgmp -L$(CUDA)/lib64 -lcudart
 
 
 dlrho.o: dlrho.cc
 dlrho.o: dlrho.cc
-	g++ $(CXXFLAGS) -I /usr/local/cuda/include $^ -c -o $@
+	g++ $(CXXFLAGS) $(CPPFLAGS) -I$(CUDA)/include $^ -c -o $@
 
 
 cudadl.o: parrhoasm.cu cios.asm dpstream.cu
 cudadl.o: parrhoasm.cu cios.asm dpstream.cu
-	$(NVCC) -c parrhoasm.cu -o cudadl.o
+	$(NVCC) $(CPPFLAGS) -c parrhoasm.cu -DWORDS=$(WORDS) -o cudadl.o
 
 
 cios.asm: gencios_reg_20
 cios.asm: gencios_reg_20
 	./gencios_reg_20 $(WORDS) > $@
 	./gencios_reg_20 $(WORDS) > $@
 
 
 controller: controller.o evutils.o
 controller: controller.o evutils.o
-	g++ -g -Wall $^ -o $@ -L$(LIBEVENT)/lib -levent -lntl -lgmp
+	g++ -g -Wall $^ -o $@ -L$(LIBEVENT)/lib -levent -lntl -L$(GMP) -lgmp
 
 
 dpnode: dpnode.o evutils.o
 dpnode: dpnode.o evutils.o
-	g++ -g -Wall $^ -o $@ -L$(LIBEVENT)/lib -levent -lntl -lgmp
+	g++ -g -Wall $^ -o $@ -L$(LIBEVENT)/lib -levent -lntl -L$(GMP) -lgmp
 
 
 worker: worker.o evutils.o
 worker: worker.o evutils.o
-	g++ -g -Wall $^ -o $@ -L$(LIBEVENT)/lib -levent -lntl -lgmp -lpthread
+	g++ -g -Wall $^ -o $@ -L$(LIBEVENT)/lib -levent -lntl -L$(GMP) -lgmp -lpthread
 
 
 clean:
 clean:
 	-rm -f $(OFILES)
 	-rm -f $(OFILES)