Hi.  I've got an existing project that is managed with autotools.  I'm
trying to integrate code written in CUDA, but I'm not able to get past
generating the object files.  CUDA code files have a *.cu extension
and are compiled with NVIDIA's nvcc compiler, so I added a suffix rule
to my Makefile.am:

------------------------
LDADD = ../cj_graphics/libcjgraphics.a
AM_CPPFLAGS = -DCJDATADIR=\"$(pkgdatadir)\" \
              -DCJCONFIGSDIR=\"@abs_top_srcdir@/configs\" \
              -...@top_srcdir@/cj_graphics

.cu.o:
   nvcc -c -o $@ $<

bin_PROGRAMS = first

first_SOURCES = first.cu
------------------------

When I type "make first" in the build directory, the object file
first.o is built but the executable is not.  I get:

------------------------
nvcc -c -o first.o ../../trunk/cuda/first.cu
first.o ../cj_graphics/libcjgraphics.a -lhistory -lglut -lxml2 -lftgl -
lMagick++ -lGL -lGLU -lMagick++ -lftgl -lxml2 -pthread -Wl,-Bsymbolic-
functions  -lwx_gtk2u_core-2.8 -lwx_gtk2u_adv-2.8 -lwx_baseu-2.8 -
lwx_gtk2u_gl-2.8
/bin/bash: first.o: command not found
make: *** [first] Error 127
------------------------

My understanding of automake is weak, but the documentation made it
sound like the suffix rule should be sufficient.  Any idea why first.o
is being run as an executable instead of being linked?  Your help is
appreciated!

- Chris

Reply via email to