The targets themselves cannot have these dependencies, because they use $^ and thus putting the dependent target in there screws up the build.