Re: Build TAGS problem with O=

From: George Anzinger
Date: Wed Jul 06 2005 - 00:07:02 EST


George Anzinger wrote:
If you try:
make O=/usr/src/ver/2.6.13-rc/obj/ -j5 LOCALVERSION=_2.6.13-rc TAGS ARCH=i386

it fails with:
MAKE TAGS
find: security/selinux/include: No such file or directory
find: include: No such file or directory
find: include/asm-i386: No such file or directory
find: include/asm-generic: No such file or directory


The problem seems to be this bit of the topdir Makefile:


#We want __srctree to totally vanish out when KBUILD_OUTPUT is not set
#(which is the most common case IMHO) to avoid unneeded clutter in the big tags file.
#Adding $(srctree) adds about 20M on i386 to the size of the output file!

ifeq ($(KBUILD_OUTPUT),)
__srctree =
else
__srctree = $(srctree)/
endif

It would appear that the "ifeq ($(KBUILD_OUTPUT),)" is doing the wrong thing. I am not a make expert, but I have had a lot of BAD experience trying to use this construct. Any one up to proposing a fix?

The problem appears to be that KBUILD_OUTPUT is NOT defined after make reruns itself. Here is a fix:

Signed-off-by: George Anzinger <george@xxxxxxxxxx>

--- /usr/src/linux-2.6.12-org/Makefile 2005-07-01 14:37:44.000000000 -0700
+++ /usr/src/linux-2.6.13-rc/Makefile 2005-07-05 19:45:00.588314304 -0700
@@ -1149,7 +1149,7 @@
#(which is the most common case IMHO) to avoid unneeded clutter in the big tags file.
#Adding $(srctree) adds about 20M on i386 to the size of the output file!

-ifeq ($(KBUILD_OUTPUT),)
+ifeq ($(src),$(obj))
__srctree =
else
__srctree = $(srctree)/



--
George Anzinger george@xxxxxxxxxx
HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/
-
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/