[PATCH 23/26] kbuild: simplify use of genksyms

From: Sam Ravnborg
Date: Sat Dec 20 2008 - 09:34:45 EST


Avoid duplicating long list of options in two places

Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
---
scripts/Makefile.build | 30 ++++++++++++------------------
1 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index d21f0ea..c1da14b 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -151,17 +151,17 @@ cmd_cc_i_c = $(CPP) $(c_flags) -o $@ $<
$(obj)/%.i: $(src)/%.c FORCE
$(call if_changed_dep,cc_i_c)

+cmd_gensymtypes = \
+ $(CPP) -D__GENKSYMS__ $(c_flags) $< | \
+ $(GENKSYMS) -T $@ -a $(ARCH) \
+ $(if $(KBUILD_PRESERVE),-p) \
+ $(if $(1),-r $(firstword $(wildcard $(@:.symtypes=.symref) /dev/null)))
+
quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@
-cmd_cc_symtypes_c = \
- set -e; \
- $(CPP) -D__GENKSYMS__ $(c_flags) $< \
- | $(GENKSYMS) -T $@ \
- -r $(firstword $(wildcard \
- $(@:.symtypes=.symref) /dev/null)) \
- $(if $(KBUILD_PRESERVE),-p) \
- -a $(ARCH) \
- >/dev/null; \
- test -s $@ || rm -f $@
+cmd_cc_symtypes_c = \
+ set -e; \
+ $(call cmd_gensymtypes, true) >/dev/null; \
+ test -s $@ || rm -f $@

$(obj)/%.symtypes : $(src)/%.c FORCE
$(call cmd,cc_symtypes_c)
@@ -191,14 +191,8 @@ else
cmd_cc_o_c = $(CC) $(c_flags) -c -o $(@D)/.tmp_$(@F) $<
cmd_modversions = \
if $(OBJDUMP) -h $(@D)/.tmp_$(@F) | grep -q __ksymtab; then \
- $(CPP) -D__GENKSYMS__ $(c_flags) $< \
- | $(GENKSYMS) $(if $(KBUILD_SYMTYPES), \
- -T $(@:.o=.symtypes)) \
- -r $(firstword $(wildcard \
- $(@:.o=.symref) /dev/null)) \
- $(if $(KBUILD_PRESERVE),-p) \
- -a $(ARCH) \
- > $(@D)/.tmp_$(@F:.o=.ver); \
+ $(call cmd_gensymtypes, $(KBUILD_SYMTYPES)) \
+ > $(@D)/.tmp_$(@F:.o=.ver); \
\
$(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \
-T $(@D)/.tmp_$(@F:.o=.ver); \
--
1.6.0.2.GIT

--
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/