Was able to solve with the following.. i thought the rule "g++ -c ${SRC}" would generate test.o but it wasnt.. Thanks to thomas who answered me in the google groups for same question.
bld(
features='cxx',
rule='${NVCC} ${CUDAFLAGS} ${CXXFLAGS} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CXX_SRC_F} ${SRC} ${CXX_TGT_F} ${TGT}',
source='simple1.cu',
target='simple1.o',
cxxflags=['-arch=sm_35','-dc'],
includes=['build'])
bld(
features='cxx',
rule='${NVCC} ${CXXFLAGS} ${SRC} ${CXXLNK_TGT_F} ${TGT} -lcudadevrt',
includes=['build'],
source='simple1.o',
target='link.o',
cxxflags=['-arch=sm_35', '-dlink'],
stlib='cudadevrt')
bld(
features='cxx',
rule='g++ -c ${SRC} -o ${TGT}',
source='test.c',
target='test.o',
includes=['build'])
bld(
features='cxxprogram',
rule='g++ ${SRC} -o ${TGT} -L/usr/local/cuda/lib64/ -lcudart',
includes=['build'],
source=['simple1.o','link.o','test.o'],
target='somex')