kbuild: Move generation of vmlinux.lds.s into arch/.../kernel
Currently, vmlinux.lds.s is generated by the top-level Makefile. Unfortunately, this causes the automatic CONFIG dependencies to not work correctly, the reason being that make caches the timestamps of include/config/* so even after split-include updated the timestamps, make still uses the cached stamps to decide whether to rebuild vmlinux.lds.s. The simple fix is to move generation of vmlinux.lds.s into the arch/$(ARCH)/kernel subdirectories, where we build other files for the final link (like head.o) anyway. This also means some special code in the top-level Makefile for preprocessing can go away, since we now just use the standard rules during the recursive phase. This patches fixes up all archs for this change (untested).
Showing
Please register or sign in to comment