diff mbox

Makefile, CONFIG_MODVERSIONS, ignore *.mod.c files

Message ID 1391612511-9276-1-git-send-email-prarit@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Prarit Bhargava Feb. 5, 2014, 3:01 p.m. UTC
CONFIG_MODVERSIONS=y results in a .mod.c for every compiled file in the kernel.
Issuing a 'make cscope' on a compiled kernel tree results in the cscope files
containing *.mod.c files.

[prarit@prarit linux]# make cscope
[prarit@prarit linux]# cat cscope.files | grep mod.c | wc -l
4807

These files are not useful for cscope and should be ignored.  For example,

   #   line  filename / context / line
   1    105  arch/x86/kvm/kvm-intel.mod.c <<GLOBAL>>
             { 0x618911fc, __VMLINUX_SYMBOL_STR(numa_node) },
   2    508  drivers/block/mtip32xx/mtip32xx.h <<GLOBAL>>
             int numa_node;
   3     55  drivers/block/mtip32xx/mtip32xx.mod.c <<GLOBAL>>
             { 0x618911fc, __VMLINUX_SYMBOL_STR(numa_node) },
   4     37  drivers/cpufreq/acpi-cpufreq.mod.c <<GLOBAL>>
             { 0x618911fc, __VMLINUX_SYMBOL_STR(numa_node) },
   <snip>

Add *.mod.c to the RCS_FIND_IGNORE in the top-level Makefile and to the ignore
list in scripts/tags.sh.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Kirill Tkhai <tkhai@yandex.ru>
Cc: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: linux-kbuild@vger.kernel.org
---
 Makefile        |    3 ++-
 scripts/tags.sh |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

Comments

Michal Marek Feb. 5, 2014, 3:05 p.m. UTC | #1
On 2014-02-05 16:01, Prarit Bhargava wrote:
> Add *.mod.c to the RCS_FIND_IGNORE in the top-level Makefile and to the ignore
> list in scripts/tags.sh.


This breaks make clean, which is supposed to remove the *.mod.c files.

Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Prarit Bhargava Feb. 5, 2014, 3:08 p.m. UTC | #2
On 02/05/2014 10:05 AM, Michal Marek wrote:
> On 2014-02-05 16:01, Prarit Bhargava wrote:
>> Add *.mod.c to the RCS_FIND_IGNORE in the top-level Makefile and to the ignore
>> list in scripts/tags.sh.
> 
> 
> This breaks make clean, which is supposed to remove the *.mod.c files.
> 

Michal,

Oops. :(.  So just the scripts/tags.sh needs to modified.  I'll resubmit just
that patch unless you have a better suggestion.

P.

> Michal
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michal Marek Feb. 5, 2014, 3:16 p.m. UTC | #3
On 2014-02-05 16:08, Prarit Bhargava wrote:
> 
> 
> On 02/05/2014 10:05 AM, Michal Marek wrote:
>> On 2014-02-05 16:01, Prarit Bhargava wrote:
>>> Add *.mod.c to the RCS_FIND_IGNORE in the top-level Makefile and to the ignore
>>> list in scripts/tags.sh.
>>
>>
>> This breaks make clean, which is supposed to remove the *.mod.c files.
>>
> 
> Michal,
> 
> Oops. :(.  So just the scripts/tags.sh needs to modified.  I'll resubmit just
> that patch unless you have a better suggestion.

Please directly change the find command in find_arch_sources() and
find_include_sources(), so that the $ignore variable is really
equivalent to $RCS_FIND_IGNORE. I'm actually wondering why we do not
simply use $RCS_FIND_IGNORE in the script.

Thanks,
Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 606ef7c..4e1b87a 100644
--- a/Makefile
+++ b/Makefile
@@ -415,7 +415,8 @@  export MODVERDIR := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/).tmp_ve
 # Files to ignore in find ... statements
 
 RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
-		   -o -name .pc -o -name .hg -o -name .git \) -prune -o
+		   -o -name .pc -o -name .hg -o -name .git -o -name *.mod.c\) \
+		   -prune -o
 export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
 			 --exclude CVS --exclude .pc --exclude .hg --exclude .git
 
diff --git a/scripts/tags.sh b/scripts/tags.sh
index 58c4559..6229d6b 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -14,7 +14,7 @@  fi
 # This is a duplicate of RCS_FIND_IGNORE without escaped '()'
 ignore="( -name SCCS -o -name BitKeeper -o -name .svn -o \
           -name CVS  -o -name .pc       -o -name .hg  -o \
-          -name .git )                                   \
+          -name .git -o -name *.mod.c )                  \
           -prune -o"
 
 # Do not use full path if we do not use O=.. builds