tAdded new raytracer makefile - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
(HTM) git clone git://src.adamsgaard.dk/sphere
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 0baac7842d73086a1e98f426473e9439a9af602e
(DIR) parent 10800d34259399b383022bcd6aa50811023445c5
(HTM) Author: Anders Damsgaard <adc@geo.au.dk>
Date: Mon, 3 Sep 2012 13:59:11 +0200
Added new raytracer makefile
Diffstat:
M raytracer/Makefile | 48 ++++++++++++++++++-------------
1 file changed, 28 insertions(+), 20 deletions(-)
---
(DIR) diff --git a/raytracer/Makefile b/raytracer/Makefile
t@@ -1,20 +1,27 @@
NVCC=nvcc
CC=g++
-LINK=g++
+LD=g++
-CFLAGS=-c -Wall -O3 -fopenmp
+CCFLAGS=-c -Wall -O3 -fopenmp
LDFLAGS=-fopenmp
-CSOURCES=main.cpp io.cpp rt_kernel_cpu.cpp
-NVCCSOURCES=rt_kernel.cu
+# Verbose compile?
+#NVCCFLAGS+=--verbose
-COBJECTS=$(CSOURCES:.cpp=.o)
-CPUOBJECTS=$(CPUSOURCES:.cpp=.o)
-NVCCOBJECTS=$(NVCCSOURCES:.cu=.o)
-OBJECTS=$(COBJECTS) $(NVCCOBJECTS)
+# Profile code?
+#NVCCFLAGS+=-pg
-EXECUTABLE=rt
+# Debugable code?
+#CCFLAGS+=-g
+#NVCCFLAGS+=-g -G
+
+CCFILES=main.cpp o-ppm.cpp rt-kernel-cpu.cpp
+CUFILES=rt-kernel.cu
+CCOBJECTS=$(CCFILES:.cpp=.o)
+CUOBJECTS=$(CUFILES:.cu=.o)
+OBJECTS=$(CCOBJECTS) $(CUOBJECTS)
+EXECUTABLE=rt
# NVCC debug compilation
NVCCFLAGS+=-use_fast_math -gencode arch=compute_20,code=sm_20
t@@ -66,15 +73,20 @@ INCLUDES += -I$(CUDA_SDK)/common/inc
#LIBS += -L$(CUDA_SDK)/lib #-lcutil_$(LIB_ARCH)
LIBS += -L$(CUDA_SDK)/lib -lcutil_$(LIB_ARCH)
-
$(EXECUTABLE): $(OBJECTS)
- $(LINK) $(CXX_ARCH_FLAGS) $(LDFLAGS) $(LIBS) $^ -o $(EXECUTABLE)
+ $(LD) $(CXX_ARCH_FLAGS) $(LDFLAGS) $(LIBS) $(OBJECTS) -o $(EXECUTABLE)
+
+main.o: main.cpp
+ $(CC) $(CCFLAGS) $(INCLUDES) -c $< -o $@
+
+o-ppm.o: o-ppm.cpp
+ $(CC) $(CCFLAGS) $(INCLUDES) -c $< -o $@
-$(NVCCOBJECTS): $(NVCCSOURCES)
- $(NVCC) $(NVCCFLAGS) -c $(INCLUDES) $< -o $@
+rt-kernel-cpu.o: rt-kernel-cpu.cpp
+ $(CC) $(CCFLAGS) $(INCLUDES) -c $< -o $@
-.cpp.o: $(COBJECTS)
- $(CC) $(CFLAGS) $(CXX_ARCH_FLAGS) -c $(INCLUDES) $< -o $@
+rt-kernel.o: rt-kernel.cu
+ $(NVCC) $(NVCCFLAGS) $(INCLUDES) -c $< -o $@
clean:
rm -f doc/*.{log,aux,bbl,blg,out,gz}
t@@ -82,9 +94,5 @@ clean:
rm -f $(EXECUTABLE)
edit:
- vim -p Makefile $(CSOURCES) $(NVCCSOURCES) header.h rt_kernel.h rt_kernel_cpu.h
+ vim -p Makefile $(CCFILES) $(CUFILES) *.h
-run:
- ./rt GPU np5000.bin 800 800 out.ppm
- convert out.ppm out.png
- #open out.png