No, it is not possible to use the implicit and explicit approach at the same time while having all objects listed in BACK_OBJS. It kind of defies the purpose. The implicit part cannot list objects that also have explicit rules.

It is better to just keep the vpath for backend/src (or $C) until eh.c and tk.c can be moved. (If ever). Problem with vpath will only occur if two files are named the same. Which should not be a too big of a problem.

How do you mean less flexible? I see the problem with the o-files being assigned to different variables and that the file structure is not fully inline with this and implicit rules, at this point. But vpath solves that anomaly. Compiler flags can be assigned individually to each file if necessary but the bulk of the files have the exact same setup which should cause less confusion.