Re: [PATCH 1/1 linux-next] kbuild: add make force=1 for testing
From: Fabian Frederick
Date: Wed Jul 27 2016 - 10:37:31 EST
> On 26 July 2016 at 23:47 Michal Marek <mmarek@xxxxxxxx> wrote:
>
>
> Dne 26.7.2016 v 02:05 Andrew Morton napsal(a):
> > On Sun, 24 Jul 2016 15:28:18 +0200 Fabian Frederick <fabf@xxxxxxxxx> wrote:
> >> This patch adds ability to do make force=1 for people
> >> not interested in modules_install in this case but only testing.
> >>
> >> (Note that other options could go under ifndef force)
> >
> > That's a bit of a hack on a hack.
>
> Agreed.
>
>
> > 51193b76bfff said:
> >
> > :Â Â When the kernel path contains a space or a colon somewhere in the path
> > :Â Â name, the modules_install target doesn't work anymore, as the path
> > names
> > :Â Â are not enclosed in double quotes. It is also supposed that and O=
> > build
> > :Â Â will suffer from the same weakness as modules_install.
> > :Â Â
> > :Â Â Instead of checking and improving kbuild to resist to directories
> > :Â Â including these characters, error out early to prevent any build if the
> > :Â Â kernel's main directory contains a space.
> >
> > What's involved in fixing this properly? Make the whole kbuild
> > system operate correctly when there are spaces/colons in the
> > pathname?
>
> modules_install probably could be fixed. However, O= builds are
> definitely unfixable: We use -I$(srctree)/... in various *FLAGS
> variables, which are space-separated lists. We assign $(srctree) to
> VPATH, which is a colon-separated list. Also, we pass $(srctree)/... to
> the wildcard, addprefix or patsubst functions, which take a
> space-separated list of words. The Makefile language simply does does
> not give us tools to handle special characters properly.
>
> To work around such paths, I suggest to create a symlink and use that.
> As far as I can tell, we do not call readlink/realpath in the buildsystem.
This was the first thing I tried but make still doesn't work.
Fabian
>
> Michal