aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-10-17 17:30:14 -0400
committerSam Ravnborg <sam@neptun.(none)>2007-10-18 03:06:34 -0400
commitfc333b2df388d6e8791b3ee59c0679e4a131555a (patch)
tree70f990150116360570b444efbc001801232be2c5
parentd85714d81cc0408daddb68c10f7fd69eafe7c213 (diff)
kbuild: check asm symlink when building a kernel
We often hit the situation where the asm symlink in include/ points to the wrong architecture. In 9 out of 10 cases thats because we forgot to set ARCH but sometimes we just reused the same tree for another ARCH. For the merged x86 tree we need to create a new symlink but this is not obvious. So with the following patch we check if the symlink points to the correct architecture and error out if this is not the case. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--Makefile26
1 files changed, 18 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index 529b9048d97e..feca34c26145 100644
--- a/Makefile
+++ b/Makefile
@@ -903,14 +903,24 @@ prepare: prepare0
903 903
904export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) 904export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
905 905
906# FIXME: The asm symlink changes when $(ARCH) changes. That's 906# The asm symlink changes when $(ARCH) changes.
907# hard to detect, but I suppose "make mrproper" is a good idea 907# Detect this and ask user to run make mrproper
908# before switching between archs anyway. 908
909 909include/asm: FORCE
910include/asm: 910 $(Q)set -e; asmlink=`readlink include/asm | cut -d '-' -f 2`; \
911 @echo ' SYMLINK $@ -> include/asm-$(SRCARCH)' 911 if [ -L include/asm ]; then \
912 $(Q)if [ ! -d include ]; then mkdir -p include; fi; 912 if [ "$$asmlink" != "$(SRCARCH)" ]; then \
913 @ln -fsn asm-$(SRCARCH) $@ 913 echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) was expected"; \
914 echo " set ARCH or save .config and run 'make mrproper' to fix it"; \
915 exit 1; \
916 fi; \
917 else \
918 echo ' SYMLINK $@ -> include/asm-$(SRCARCH)'; \
919 if [ ! -d include ]; then \
920 mkdir -p include; \
921 fi; \
922 ln -fsn asm-$(SRCARCH) $@; \
923 fi
914 924
915# Generate some files 925# Generate some files
916# --------------------------------------------------------------------------- 926# ---------------------------------------------------------------------------