include/linux/compile.h is a generated file, only init/Makefile knows
about it - including it outside of init/* will cause trouble on
parallel builds.
Also, when compile.h already exists when 'make dep' is run, that'll pick
up a dependency on $(TOPDIR)/include/linux/compile.h. So init/Makefile
needs to tell make that this is actually the same file as
../include/linux.compile.h
version.o: ../include/linux/compile.h
+# 'make dep' may add a dependency on $(TOPDIR)/include/linux/compile.h
+
+$(TOPDIR)/include/linux/compile.h: ../include/linux/compile.h ;
+
# compile.h changes depending on hostname, generation number, etc,
# so we regenerate it always.
# mkcompile_h will make sure to only update the
#include <linux/file.h>
#include <linux/utsname.h>
#include <linux/version.h>
-#include <linux/compile.h>
#include <linux/delay.h>
#include <linux/reboot.h>
#include <linux/init.h>