You haven’t provided any expected result, which makes it more difficult to assist you.
Building the binary …/…/bin/linux/emurelease/simpleGL needs the object code that is supposed to be stored in bj/emurelease/simpleGL_kernel.cu.o.
What you are doing causes make to fail to understand how to construct the .cu.o object, and thus the entire compile fails.
I’m not autotools expert in anyway, but I wouldn’t expect “emu=1” to work, as I’ve never seen that syntax. What do you want to happen?
It isn’t autotools syntax,it is just plain GNU make, and that syntax just sets the variable emu to 1 inside the make run, which is very useful for conditional compilation. So you could have something like this in a makefile
which would set flags for compilation depending on whether you want device emulation or not.
As to the original question, that error means make can’t work out a rule to make a file which a target you are trying to build requires to compile. Make has a set of built-in rules for automagically deducing how to make dependencies, and the Makefile contains additional rule sets which replace or augment these built-in rules so it can build the target you want. The short, general answer is that the makefile is broken somehow.