recipe for target 'prepare0' failed

 PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3

prepare3 is used to check if we are building in a separate output directory,_
and if so do:
1) Check that make has not been executed in the kernel src $(srctree)
2) Create the include2 directory, used for the second asm symlink**______**
**prepare3: include/config/kernel.release
ifneq ($(KBUILD_SRC),)********
    @echo '  Using $(srctree) as source for kernel'
    $(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
        echo "  $(srctree) is not clean, please run 'make mrproper'";\
        echo "  in the '$(srctree)' directory.";\
        /bin/false; \
    fi;
    $(Q)if [ ! -d include2 ]; then                                  \
        mkdir -p include2;                                          \
        ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm;     \
    fi
endif

# prepare2 creates a makefile if using a separate output directory
prepare2: prepare3 outputmakefile

prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \
                   include/asm include/config/auto.conf
    $(cmd_crmodverdir)

archprepare: prepare1 scripts_basic

prepare0: archprepare FORCE
    $(Q)$(MAKE) $(build)=.
    $(Q)$(MAKE) $(build)=. missing-syscalls

# All the preparing..
# ## prepare: prepare0

# Leave this as default for preprocessing vmlinux.lds.S, which is now
# done in arch/$(ARCH)/kernel/Makefile

export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)

# The asm symlink changes when $(ARCH) changes.
# Detect this and ask user to run make mrproper
# If asm is a stale symlink (point to dir that does not exist) remove it**

求助大神们
有人能告诉我怎么改正prepare0那的错误吗