This was happening because I was putting the -lusb-1.0 option into LDFLAGS. Well, this is not how you are supposed to do it, especially when you rely on implicit rules of GNU Make, you must use LDLIBS (or the equivalent LOADLIBES) instead.

where LDFLAGS is expanded before anything else, and the linker couldn't figure out the libraries to use for linking; note that LDLIBS comes after $^ which is the automatic variable expanded to the prerequisites of the rule (the objects, namely kinect_upload_fw.o in this case).