Makefile cleanup: Don't rebuild init/version.o on each build
init/version.o includes include/linux/compile.h. As compile.h was regenerated each time make was run, init/version.o was recompiled each time. To avoid this, use the following solution: Generate a temporary new compile.h, and only replace the old one if the new one is different. We consider the files different if more than just date/time changed, since otherwise we would have to rebuild every time anyway. Still, the two files turned out to be different all the time, as we put a generation number into them which is incremented at each invocation of "make". The generation number update is now only done when the kernel config changes, which makes more sense, anyway. So, the UTS_VERSION and generation number now relate to the time the kernel was configured, not the time the actual "make vmlinux" was run, which should be fine.
Showing
Please register or sign in to comment