# # sample Makefile for C with OpenCL (CUDA implementation) # # usage examples: # "make hello" to compile "hello.c" to "hello" # # note that you must first set up to include CUDA in your environment # (command "module load cuda-latest") CSTD = -std=c99 OPT = -O3 CFLAGS = $(OPT) -Wall -pedantic $(CSTD) LDFLAGS = -L$(CUDA_HOME)/lib64 -L/usr/lib64 LDLIBS = -lOpenCL -lm CUDA_CC = nvcc C_IGNORE = -isystem $(CUDA_HOME)/include -Wno-long-long NVCC_IGNORE = -Wno-deprecated-gpu-targets CUDA_CFLAGS = -Xcompiler "$(CFLAGS) $(C_IGNORE)" $(NVCC_IGNORE) %: %.c $(CUDA_CC) -o $@ $(CUDA_CFLAGS) $(LDFLAGS) $< $(LDLIBS) %.o: %.c $(CUDA_CC) -c $(CUDA_CFLAGS) $(LDFLAGS) $< $(LDLIBS)