kbuild: remove redundant -include include/generated/autoconf.h

include/generated/autoconf.h is included from include/linux/kconfig.h
and we have already "-include $(srctree)/include/linux/kconfig.h"
just below.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cover-letter:
kbuild: drop redundant code

END
kbuild: do not create symbolic link include/asm

There does not exist include/asm-$(SRCARCH) any more, so no point
to create a symbolic link to an empty directory.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
kbuild: do not create include2 directory

include/asm-$(SRCARCH) does not exist.  Creating include2
directory is meaningless.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
kbuild: add ./Kbuild file to fix "make clean"

"make clean/mrproper/distclean" has not been working correctly.

When "make clean" is run, Kbuild descends into the directories
that are listed in "clean-dirs" variable, which includes $(srctree).

It intends descending into "./Kbuild", not "./Makefile".
(Note "Kbuild" takes precedence over "Makefile" in each directory.)

If Kbuild descends into "./Makefile", Kconfig is invoked via
"make silentoldconfig", which is not our intention.

Let's add "Kbuild" file at the top directory like Linux.

Update TODO list too.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cover-letter:
kbuild: Fix "make clean" and move asm-offsets.h rule

END
kbuild: move asm-offsets.h rule to ./Kbuild

Currently, MIPS is the only architecture that needs
include/generated/asm-offsets.h, but we have got ./Kbuild file now.

It is a good reason to move asm-offsets.h rule from arch/mips/Makefile
to ./Kbuild and add dummy asm-offsets.c for the other architectures.
asm-offsets.h would be useful for all the architectures.

This commit does not implement include/generated/bounds.h,
but if necessary,  it is easy to implement it.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
kbuild: create a build directory automatically for out-of-tree build

Kbuild supports saving output files in a separate directory.
But the build directory must be created beforehand. For example,

  $ mkdir -p dir/to/store/output/files
  $ make O=dir/to/store/output/files defconfig

Creating a build directory automatically would be useful.

[ imported from Linux Kernel, commit 1c9e70a55b08 ]
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>