head	1.12;
access;
symbols;
locks; strict;
comment	@# @;


1.12
date	2010.03.25.15.33.34;	author johns;	state Exp;
branches;
next	1.11;

1.11
date	2010.03.20.04.51.04;	author johns;	state Exp;
branches;
next	1.10;

1.10
date	2010.03.03.17.14.24;	author johns;	state Exp;
branches;
next	1.9;

1.9
date	2010.02.19.21.50.10;	author johns;	state Exp;
branches;
next	1.8;

1.8
date	2010.02.19.21.46.18;	author johns;	state Exp;
branches;
next	1.7;

1.7
date	2010.02.19.17.24.28;	author johns;	state Exp;
branches;
next	1.6;

1.6
date	2010.02.19.16.42.06;	author johns;	state Exp;
branches;
next	1.5;

1.5
date	2010.02.16.21.37.24;	author johns;	state Exp;
branches;
next	1.4;

1.4
date	2010.02.16.03.41.55;	author johns;	state Exp;
branches;
next	1.3;

1.3
date	2010.02.16.03.04.34;	author johns;	state Exp;
branches;
next	1.2;

1.2
date	2010.02.15.17.42.51;	author johns;	state Exp;
branches;
next	1.1;

1.1
date	2010.02.11.19.34.37;	author johns;	state Exp;
branches;
next	;


desc
@@


1.12
log
@updated link flags so shared libs are found without setting env vars
@
text
@# CUDA makefile

default:
	@@echo "Choose a build target:"
	@@echo "------------------------------------------------"
	@@echo "linux-amd-32     x86 CPUs and AMD/ATI GPUs      "   
	@@echo "linux-amd-64     x86 CPUs and AMD/ATI GPUs      "
	@@echo "linux-ibm-32     Power CPUs and Cell processors "
	@@echo "linux-nvidia-32  NVIDIA GPUs                    "
	@@echo "linux-nvidia-64  NVIDIA GPUs                    "
	@@echo "macosx-32        x86 CPUs, various GPUs         "
	@@echo "macosx-64        x86 CPUs, various GPUs         "

#ATIOPENCLHOME32 = /Projects/vmd/opencl/amd/ati-stream-sdk-v2.0-beta4-lnx32
#ATIOPENCLHOME64 = /Projects/vmd/opencl/amd/ati-stream-sdk-v2.0-beta4-lnx64
ATIOPENCLHOME32 = /opt/ati-stream-sdk-v2.01-rhel32
ATIOPENCLHOME64 = /opt/ati-stream-sdk-v2.01-rhel64

linux-amd-32:
	$(MAKE) all \
	"OPENCLINC  = -I$(ATIOPENCLHOME32)/include" \
	"OPENCLLIBS = -L$(ATIOPENCLHOME32)/lib/x86 -lOpenCL" \
	"CC = gcc" \
	"CFLAGS = -m32 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m32 -O -g" \
	"CXXLFLAGS = -lm -Wl,-rpath,$(ATIOPENCLHOME32)/lib/x86"

linux-amd-64:
	$(MAKE) all \
	"OPENCLINC  = -I$(ATIOPENCLHOME64)/include" \
	"OPENCLLIBS = -L$(ATIOPENCLHOME64)/lib/x86_64 -lOpenCL" \
	"CC = gcc" \
	"CFLAGS = -m64 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m64 -O -g" \
	"CXXLFLAGS = -lm -Wl,-rpath,$(ATIOPENCLHOME64)/lib/x86_64"

linux-ibm-32:
	$(MAKE) all \
	"OPENCLINC  = -I/usr/include/CL/inc" \
	"OPENCLLIBS = -lCL" \
	"CC = gcc" \
	"CFLAGS = -m32 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m32 -O -g" \
	"CXXLFLAGS = -lm"

#
# No 64-bit IBM OpenCL libs yet?
#
# linux-ibm-64:
#	$(MAKE) all \
#	"OPENCLINC  = -I/usr/include/CL/inc" \
#	"OPENCLLIBS = -lCL" \
#	"CC = gcc" \
#	"CFLAGS = -m64 -O -g" \
#	"CXX = g++" \
#	"CXXFLAGS = -m64 -O -g" \
#	"CXXLFLAGS = -lm"

linux-nvidia-32:
	$(MAKE) all \
	"OPENCLINC  = -I/usr/include/CL/inc" \
	"OPENCLLIBS = -lOpenCL" \
	"CC = gcc" \
	"CFLAGS = -m32 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m32 -O -g" \
	"CXXLFLAGS = -lm"

linux-nvidia-64:
	$(MAKE) all \
	"OPENCLINC  = -I/usr/include/CL/inc" \
	"OPENCLLIBS = -lOpenCL" \
	"CC = gcc" \
	"CFLAGS = -m64 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m64 -O -g" \
	"CXXLFLAGS = -lm"

macosx-32:
	$(MAKE) all \
	"OPENCLINC  = " \
	"OPENCLLIBS = -framework OpenCL" \
	"CC = gcc" \
	"CFLAGS = -m32 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m32 -O -g" \
	"CXXLFLAGS = -lm"

macosx-64:
	$(MAKE) all \
	"OPENCLINC  = " \
	"OPENCLLIBS = -framework OpenCL" \
	"CC = gcc" \
	"CFLAGS = -m64 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m64 -O -g" \
	"CXXLFLAGS = -lm"

CUDAOBJS = 
OBJS     = WKFThreads.o WKFUtils.o main.o temp.o
BINS     = mdh

all: $(BINS)

.cu.o:
	$(CUDACC) $(CUDACCFLAGS) -c $<
.c.o:
	$(CC) $(CFLAGS) $(OPENCLINC) -c $<
.C.o:
	$(CXX) $(CXXFLAGS) $(OPENCLINC) -c $<

mdh: $(CUDAOBJS) $(OBJS)
	$(CXX) $(CXXFLAGS) $(OPENCLINC) $(CUDAOBJS) $(OBJS) -o $@@ $(CXXLFLAGS) $(OPENCLLIBS)

clean:	
	rm -f $(CUDAOBJS) $(OBJS) $(BINS) *.cubin *.ptx *.linkinfo

@


1.11
log
@updated mdh kernel with ATI paths.
@
text
@d27 1
a27 1
	"CXXLFLAGS = -lm"
d37 1
a37 1
	"CXXLFLAGS = -lm"
@


1.10
log
@no 64-bit cell version yet
@
text
@d14 4
a17 2
ATIOPENCLHOME32 = /Projects/vmd/opencl/amd/ati-stream-sdk-v2.0-beta4-lnx32
ATIOPENCLHOME64 = /Projects/vmd/opencl/amd/ati-stream-sdk-v2.0-beta4-lnx64
@


1.9
log
@Added both 32-bit and 64-bit compilation targets on all platforms
@
text
@d5 8
a12 9
	@@echo "-------------------------------------------"
	@@echo "linux-amd-32"
	@@echo "linux-amd-64"
	@@echo "linux-cell-32"
	@@echo "linux-cell-64"
	@@echo "linux-nvidia-32"
	@@echo "linux-nvidia-64"
	@@echo "macosx-32"
	@@echo "macosx-64"
d37 1
a37 1
linux-cell-32:
d47 12
a58 9
linux-cell-64:
	$(MAKE) all \
	"OPENCLINC  = -I/usr/include/CL/inc" \
	"OPENCLLIBS = -lCL" \
	"CC = gcc" \
	"CFLAGS = -m64 -O -g" \
	"CXX = g++" \
	"CXXFLAGS = -m64 -O -g" \
	"CXXLFLAGS = -lm"
@


1.8
log
@Added macosx targets
@
text
@d6 6
a11 3
	@@echo "linux-ati"
	@@echo "linux-cell"
	@@echo "linux-nvidia"
d15 2
a16 1
ATIOPENCLHOME = /Projects/vmd/opencl/amd/ati-stream-sdk-v2.0-beta4-lnx32
d18 1
a18 1
linux-ati:
d20 2
a21 2
	"OPENCLINC  = -I$(ATIOPENCLHOME)/include" \
	"OPENCLLIBS = -L$(ATIOPENCLHOME)/lib/x86 -lOpenCL" \
d28 11
a38 1
linux-cell:
d48 21
a68 1
linux-nvidia:
@


1.7
log
@cleanup
@
text
@d9 2
d44 20
@


1.6
log
@fixed makefile bugs
@
text
@d10 2
d14 2
a15 2
	"OPENCLINC  = -I/lusers/tcbg/opencl/ati-stream-sdk-v2.0-beta4-lnx32/include" \
	"OPENCLLIBS = -L/lusers/tcbg/opencl/ati-stream-sdk-v2.0-beta4-lnx32/lib/x86 -lOpenCL" \
d17 1
a17 1
	"CFLAGS = -m32 -O -g -DBUILD_STANDALONE" \
d19 1
a19 1
	"CXXFLAGS = -m32 -O -g -DBUILD_STANDALONE" \
d27 1
a27 1
	"CFLAGS = -m32 -O -g -DBUILD_STANDALONE" \
d29 1
a29 1
	"CXXFLAGS = -m32 -O -g -DBUILD_STANDALONE" \
d37 1
a37 1
	"CFLAGS = -m64 -O -g -DBUILD_STANDALONE" \
d39 1
a39 1
	"CXXFLAGS = -m64 -O -g -DBUILD_STANDALONE" \
@


1.5
log
@added multi-target logic
@
text
@d49 1
a49 1
	$(CC) $(CCFLAGS) $(OPENCLINC) -c $<
@


1.4
log
@*** empty log message ***
@
text
@d3 36
a38 21
#CUDACC      = /usr/local/cuda/bin/nvcc
#CUDACC      = /usr/local/encap/cuda-2.3/bin/nvcc
#CUDACC      = /usr/local/encap/cuda-3.0beta1/bin/nvcc
#CUDAINCS    = -I. -DUNIX
#CUDACCFLAGS = -Xptxas=-v -O3 --machine 64 $(CUDAINCS)
#CUDACCFLAGS = -Xptxas=-v -O3 --machine 32 $(CUDAINCS)

OPENCLHOME = /usr/include/CL
OPENCLINC  = -I$(OPENCLHOME)/inc
OPENCLLIBS = -lOpenCL

CC          = gcc
CFLAGS      = -m64 -O -g $(OPENCLINC) -DBUILD_STANDALONE
#CFLAGS      = -m32 -O -g $(OPENCLINC) -DBUILD_STANDALONE

CXX         = g++
CXXFLAGS    = -m64 -O -g $(OPENCLINC) -DBUILD_STANDALONE
#CXXFLAGS    = -m32 -O -g $(OPENCLINC) -DBUILD_STANDALONE
#CXXLFLAGS   = -L/usr/local/cuda/lib64 -lcudart
#CXXLFLAGS   = -L/usr/local/encap/cuda-3.0beta1/lib64 -lcudart
CXXLFLAGS   = -lm
d49 1
a49 1
	$(CC) $(CFLAGS) -c $<
d51 1
a51 1
	$(CXX) $(CXXFLAGS) -c $<
d54 1
a54 1
	$(CXX) $(CXXFLAGS) $(CUDAOBJS) $(OBJS) -o $@@ $(CXXLFLAGS) $(OPENCLLIBS)
@


1.3
log
@misc cleanup
@
text
@d34 1
a34 1
	$(CC) $(CCFLAGS) -c $<
@


1.2
log
@*** empty log message ***
@
text
@d34 1
a34 1
	$(CXX) $(CXXFLAGS) -c $<
@


1.1
log
@Initial revision
@
text
@d5 2
a6 2
CUDACC      = /usr/local/encap/cuda-3.0beta1/bin/nvcc
CUDAINCS    = -I. -DUNIX
d8 1
a8 1
CUDACCFLAGS = -Xptxas=-v -O3 --machine 32 $(CUDAINCS)
d15 2
a16 2
#CFLAGS      = -m64 -O -g $(OPENCLINC) -DBUILD_STANDALONE
CFLAGS      = -m32 -O -g $(OPENCLINC) -DBUILD_STANDALONE
d19 2
a20 2
#CXXFLAGS    = -m64 -O -g $(OPENCLINC) -DBUILD_STANDALONE
CXXFLAGS    = -m32 -O -g $(OPENCLINC) -DBUILD_STANDALONE
d23 1
a23 1
CXXLFLAGS   = 
@
