diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-10-25 16:58:23 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-10-29 17:02:07 -0400 |
commit | dcc2da1a9693807096e9ac5137b499a829c51268 (patch) | |
tree | 996353cc1fc108d593381cb6c2d1e5afe985ec49 | |
parent | 46dca86cb93db80992a45e4b55737ff2b2f61cd0 (diff) |
kbuild: improve check-symlink
o if include/asm point to a nonexisting directory remove the asm symlink
o if include/asm is a directory error out
This fixes a situation where one could be left with a symlink
to asm-x86 but that directory no longer exist and thus the build
would error out.
include/asm may be a directory if the kernel tree has been copied
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r-- | Makefile | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -961,6 +961,7 @@ export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) | |||
961 | 961 | ||
962 | # The asm symlink changes when $(ARCH) changes. | 962 | # The asm symlink changes when $(ARCH) changes. |
963 | # Detect this and ask user to run make mrproper | 963 | # Detect this and ask user to run make mrproper |
964 | # If asm is a stale symlink (point to dir that does not exist) remove it | ||
964 | define check-symlink | 965 | define check-symlink |
965 | set -e; \ | 966 | set -e; \ |
966 | if [ -L include/asm ]; then \ | 967 | if [ -L include/asm ]; then \ |
@@ -970,6 +971,10 @@ define check-symlink | |||
970 | echo " set ARCH or save .config and run 'make mrproper' to fix it"; \ | 971 | echo " set ARCH or save .config and run 'make mrproper' to fix it"; \ |
971 | exit 1; \ | 972 | exit 1; \ |
972 | fi; \ | 973 | fi; \ |
974 | test -e $$asmlink || rm include/asm; \ | ||
975 | elif [ -d include/asm ]; then \ | ||
976 | echo "ERROR: $@ is a directory but a symlink was expected";\ | ||
977 | exit 1; \ | ||
973 | fi | 978 | fi |
974 | endef | 979 | endef |
975 | 980 | ||