Messages in this thread | | | Date | Mon, 31 Mar 2008 20:42:47 +0200 | From | Sam Ravnborg <> | Subject | Re: make O=dir fails with current git |
| |
On Mon, Mar 31, 2008 at 08:26:49PM +0200, Stefan Hellermann wrote: > Sam Ravnborg schrieb: > > On Sat, Mar 29, 2008 at 07:19:21PM +0100, Stefan Hellermann wrote: > >> Hi, > >> > >> I'm using "make O=machinename" for building different kernels from one tree. About 15 days > >> ago it was okay, with current git it fails: > >> $ make O=client1 > >> scripts/kconfig/conf -s arch/x86/Kconfig > >> Using /srv/devel/kernel as source for kernel > >> /srv/devel/kernel is not clean, please run 'make mrproper' > >> in the '/srv/devel/kernel' directory. > >> make[1]: *** [prepare3] Error 1 > >> make: *** [sub-make] Error 2 > >> > >> running "make mrproper" (without O=dir) doesn't help. > >> I've not changed anything, I only made a "git-pull". > >> Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it > >> doesn't work too. > > > > I tried to reproduce this here without luck. > > The tests performed by kbuild to dertermine if the > > source directory is clean are very basic. > > If the file .config exist or the directory > > include/config exists then the source tree is considered clean. > > Otherwise you get the above message. > > Hi, damn, it's that easy! > It was the .config file, I added (as root) a symlink to dir/.config to let some other > application check if some Kernel-options are set, then the permissions of this symlink > prevented make mrproper from removing it. > > For what purpose is this check? The O= build will use the wrong files if the source tree is not clean. There are several special cases which goes wrong under the wrong circumstances and therefore this consistency check.
> I can't point the other application to kerneldir/dir > because it also greps in kerneldir/Makefile for the kernel-version. They could use: make kernelversion
and this could be used in the output directory too.
Sam
| |