Re: Check handling of kernel build output directory

From: Markus Elfring
Date: Sat Oct 27 2007 - 08:30:57 EST


> From the above we can see that two make's are running in parallel here
> where only one should run.

Is this a problem here? - I can omit the parameter "-j".


> I have seen this before but only in cases where you specified several targets
> on the make commandline - which you do not do in the make invocation.
> Just to check it you could do a:
> $(warning CMD=$(MAKECMDFLAGS)) around the place where SUBARCH is assigned in the
> top-level Makefile.

elfring@Sonne:~/Projekte/Linux/Kernel/2.6.23.1> unset KBUILD_OUTPUT && make mrproper && cp
-p /boot/config-2.6.23.1-0-adjusted .config && export
KBUILD_OUTPUT=~/Projekte/Linux/Kernel/obj/2.6.23.1/x86_64/adjusted && rm -rf $KBUILD_OUTPUT/*
Makefile:165: CMD=
CLEAN .config
elfring@Sonne:~/Projekte/Linux/Kernel/2.6.23.1> make oldconfig && date && echo
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX && make && echo
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY && date
/home/elfring/Projekte/Linux/Kernel/2.6.23.1/Makefile:165: CMD=
GEN /home/elfring/Projekte/Linux/Kernel/obj/linux/2.6.23.1/x86_64/adjusted/Makefile
scripts/kconfig/conf -o arch/x86_64/Kconfig
*
* Linux Kernel Configuration
*
*
* General setup
*
[...]
#
# configuration written to .config
#
Sa 27. Okt 14:23:51 CEST 2007
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/home/elfring/Projekte/Linux/Kernel/2.6.23.1/Makefile:165: CMD=
/home/elfring/Projekte/Linux/Kernel/2.6.23.1/Makefile:165: CMD=
GEN /home/elfring/Projekte/Linux/Kernel/obj/2.6.23.1/x86_64/adjusted/Makefile
scripts/kconfig/conf -s arch/x86_64/Kconfig
/home/elfring/Projekte/Linux/Kernel/2.6.23.1/Makefile:165: CMD=
Using /home/elfring/Projekte/Linux/Kernel/2.6.23.1 as source for kernel
/home/elfring/Projekte/Linux/Kernel/2.6.23.1 is not clean, please run 'make mrproper'
in the '/home/elfring/Projekte/Linux/Kernel/2.6.23.1' directory.
make[1]: *** [prepare3] Fehler 1
make: *** [_all] Fehler 2


Are any more steps needed to perform safe Makefile debugging now?
Is the specific number of (recursive) make calls interesting?


elfring@Sonne:~/Projekte/Linux/Kernel/2.6.23.1> unset KBUILD_OUTPUT && make mrproper && cp
-p /boot/config-2.6.23.1-0-adjusted .config && export
KBUILD_OUTPUT=~/Projekte/Linux/Kernel/obj/2.6.23.1/x86_64/adjusted && rm -rf $KBUILD_OUTPUT/*
Makefile:165: CMD=
CLEAN .config
elfring@Sonne:~/Projekte/Linux/Kernel/2.6.23.1> make silentoldconfig && date && echo
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX && make && echo
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY && date
/home/elfring/Projekte/Linux/Kernel/2.6.23.1/Makefile:165: CMD=
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
GEN /home/elfring/Projekte/Linux/Kernel/obj/2.6.23.1/x86_64/adjusted/Makefile
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/x86_64/Kconfig
Sa 27. Okt 14:26:53 CEST 2007
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
/home/elfring/Projekte/Linux/Kernel/2.6.23.1/Makefile:165: CMD=
Using /home/elfring/Projekte/Linux/Kernel/2.6.23.1 as source for kernel
/home/elfring/Projekte/Linux/Kernel/2.6.23.1 is not clean, please run 'make mrproper'
in the '/home/elfring/Projekte/Linux/Kernel/2.6.23.1' directory.
make[1]: *** [prepare3] Fehler 1
make: *** [_all] Fehler 2


> Does the issue by any chance go away if you refrain from the
> command && command && command && command && command && command
> way of doing things?

I want to ensure that every command was successfully executed. The return values will be
ignored if the commands are concatenated by the metacharacter ";". I prefer to use "AND
lists" here.


> So you either a .config file or the config directory.

I would expect that both will be generated in my output directory by a command like "make
silentoldconfig". Why is the cleanliness check additionally performed on my source
directory? Should it really matter if I want to concentrate on "objtree"?


> If you now say this is a SUSE specific problem then I suggest asking SUSE for help.

I don't want to say that. I indicated a bit about my runtime environment. Is it more
likely that the Makefile will need an update?

Regards,
Markus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/