Fix out of source tree build bugs: - add (srctree)/include/asm-xen to include list - fix include2/asm link to reference asm-XENARCH - fix install target for public headeres This fix enables the complication of several configurations from the same (read-only) source tree. Signed-off-by: Shahar Frank Index: arch/xen/Makefile =================================================================== --- arch/xen/Makefile (revision 112) +++ arch/xen/Makefile (working copy) @@ -16,12 +16,22 @@ # pick up headers from include/asm-xen/asm in preference over include/asm NOSTDINC_FLAGS = -nostdinc -iwithprefix include/asm-xen -Iinclude/asm-xen -iwithprefix include +ifneq ($(KBUILD_SRC),) +NOSTDINC_FLAGS += -I$(srctree)/include/asm-xen endif # make uname return the processor arch UTS_MACHINE := $(XENARCH) core-y += arch/xen/kernel/ +.PHONY: include2/asm +include2/asm: +ifneq ($(KBUILD_SRC),) + @echo ' SYMLINK ../include/asm-$(XENARCH) -> include2/asm' + $(Q)ln -fsn ../include/asm-$(XENARCH) include2/asm endif + include/.asm-ignore: include/asm @rm -f include/.asm-ignore @mv include/asm include/.asm-ignore @@ -40,7 +50,7 @@ @ln -fsn $(srctree)/arch/xen/$(XENARCH) $@ prepare: include/.asm-ignore include/asm-xen/asm \ - arch/xen/arch ; + arch/xen/arch include2/asm all: vmlinuz @@ -58,7 +68,7 @@ install -m0664 .config $(INSTALL_PATH)/boot/config-$(XINSTALL_NAME)$(INSTALL_SUFFIX) install -m0664 System.map $(INSTALL_PATH)/boot/System.map-$(XINSTALL_NAME)$(INSTALL_SUFFIX) mkdir -p $(INSTALL_PATH)/usr/include/xen/linux - install -m0644 include/asm-xen/linux-public/*.h $(INSTALL_PATH)/usr/include/xen/linux + install -m0644 $(srctree)/include/asm-xen/linux-public/*.h +$(INSTALL_PATH)/usr/include/xen/linux archclean: @if [ -e arch/xen/arch ]; then $(MAKE) $(clean)=arch/xen/arch; fi;