Hi Lumin
>Reduced one. wonderful >Stripped all Multi-Arch: no in d/control. wonderful > >Then, how about splitting those custom target into another file? > >e.g. debian/custom >$ debian/custom cpu >$ debian/custom cuda if they aren't called by standard dh calls it is fine to keep them there. maybe just move to the bottom, (I think they are already there) >Such change can 1. reduce length of d/rules, >2. avoid confusion on custom matter. as you want I'm fine in both ways >Well, I changed the default custom build jobs to -j2. well, they aren't called by buildd systems, so I don't care. Users who apt-get source your package should also know how to build the custom stuff. >I still don't understand how to write working rules >like that ... I guess you already did it correctly. I like this version more than the previous one (note, I didn't test a build) anyway: please add gcc/g++ 4.9 or whatever to the b-d in control file. It is not guarantee specially after the gcc-5 switch that they will be there. to see if nvidia is available (amd or i386 I would do something like: In rules file, to see ifeq ($(shell dpkg-query --status nvidia-cuda-toolkit |grep -o Package), Package) flag_build_caffe_cuda := y endif this way you avoid a double "if" and if tomorrow cuda gets another arch support, you just need to add it in the control file. thanks, G.