On 11/15/2013 03:44 AM, Geert Uytterhoeven wrote: > If CONFIG_INITRAMFS_SOURCE contains relative paths inside the source tree > (e.g. in a defconfig pointing to arch-specific files), the corresponding > file system entries are not found when building outside the source tree. > > Prefix all simple paths (paths not starting with "/", "../", or "./") with > $(srctree) to fix this. > > Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> > --- > This issue happens when building an OpenRISC defconfig from > git://openrisc.net/jonas/linux. Mainline doesn't have the OpenRISC > initramfs. +1. This applies to ARC defconfig too. > > Questions: > 1. Is this an acceptable solution for mainline? > 2. My make-foo is limited. is there a better way to accomplish this, than > by prefixing all paths and removing the prefixes again where they're > not wanted? > > usr/Makefile | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/usr/Makefile b/usr/Makefile > index e767f019accf..2170c38936ce 100644 > --- a/usr/Makefile > +++ b/usr/Makefile > @@ -41,6 +41,12 @@ hostprogs-y := gen_init_cpio > initramfs := $(CONFIG_SHELL) $(srctree)/scripts/gen_initramfs_list.sh > ramfs-input := $(if $(filter-out "",$(CONFIG_INITRAMFS_SOURCE)), \ > $(shell echo $(CONFIG_INITRAMFS_SOURCE)),-d) > +ifneq ("$(ramfs-input)", "-d") > +ramfs-input := $(patsubst %, $(srctree)/%, $(ramfs-input)) > +ramfs-input := $(patsubst $(srctree)//%, /%, $(ramfs-input)) > +ramfs-input := $(patsubst $(srctree)/../%, ../%, $(ramfs-input)) > +ramfs-input := $(patsubst $(srctree)/./%, ./%, $(ramfs-input)) > +endif > ramfs-args := \ > $(if $(CONFIG_INITRAMFS_ROOT_UID), -u $(CONFIG_INITRAMFS_ROOT_UID)) \ > $(if $(CONFIG_INITRAMFS_ROOT_GID), -g $(CONFIG_INITRAMFS_ROOT_GID)) > -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html