This rule is unnecessary because you can generate foo/bar.symtypes as a side effect using: $ make KBUILD_SYMTYPES=1 foo/bar.o While compiling *.o is slower than preprocessing, the impact is negligible. I prioritize keeping the code simpler.
Showing the changes to scripts (1 of 2 files). Show all
Unified · Split
| @@ -108,19 +108,13 @@ $(obj)/%.i: $(obj)/%.c FORCE · 107 unmodified lines | |||
| 108 | $(call if_changed_dep,cpp_i_c) | 108 | $(call if_changed_dep,cpp_i_c) |
| 109 | 109 | ||
| 110 | genksyms = $(objtree)/scripts/genksyms/genksyms \ | 110 | genksyms = $(objtree)/scripts/genksyms/genksyms \ |
| 111 | $(if $(1), -T $(2)) \ | 111 | $(if $(KBUILD_SYMTYPES), -T $(@:.o=.symtypes)) \ |
| 112 | $(if $(KBUILD_PRESERVE), -p) \ | 112 | $(if $(KBUILD_PRESERVE), -p) \ |
| 113 | $(addprefix -r , $(wildcard $(2:.symtypes=.symref))) | 113 | $(addprefix -r , $(wildcard $(@:.o=.symref))) |
| 114 | 114 | ||
| 115 | # These mirror gensymtypes_S and co below, keep them in synch. | 115 | # These mirror gensymtypes_S and co below, keep them in synch. |
| 116 | cmd_gensymtypes_c = $(CPP) -D__GENKSYMS__ $(c_flags) $< | $(genksyms) | 116 | cmd_gensymtypes_c = $(CPP) -D__GENKSYMS__ $(c_flags) $< | $(genksyms) |
| 117 | 117 | ||
| 118 | quiet_cmd_cc_symtypes_c = SYM $(quiet_modtag) $@ | ||
| 119 | cmd_cc_symtypes_c = $(call cmd_gensymtypes_c,true,$@) >/dev/null | ||
| 120 | |||
| 121 | $(obj)/%.symtypes : $(obj)/%.c FORCE | ||
| 122 | $(call cmd,cc_symtypes_c) | ||
| 123 | |||
| 124 | # LLVM assembly | 118 | # LLVM assembly |
| 125 | # Generate .ll files from .c | 119 | # Generate .ll files from .c |
| 126 | quiet_cmd_cc_ll_c = CC $(quiet_modtag) $@ | 120 | quiet_cmd_cc_ll_c = CC $(quiet_modtag) $@ |
| @@ -158,8 +152,7 @@ ifdef CONFIG_MODVERSIONS · 31 unmodified lines | |||
| 158 | 152 | ||
| 159 | gen_symversions = \ | 153 | gen_symversions = \ |
| 160 | if $(NM) $@ 2>/dev/null | grep -q ' __export_symbol_'; then \ | 154 | if $(NM) $@ 2>/dev/null | grep -q ' __export_symbol_'; then \ |
| 161 | $(call cmd_gensymtypes_$(1),$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ | 155 | $(cmd_gensymtypes_$1) >> $(dot-target).cmd; \ |
| 162 | >> $(dot-target).cmd; \ | ||
| 163 | fi | 156 | fi |
| 164 | 157 | ||
| 165 | cmd_gen_symversions_c = $(call gen_symversions,c) | 158 | cmd_gen_symversions_c = $(call gen_symversions,c) |
| @@ -323,13 +316,6 @@ cmd_gensymtypes_S = \ · 157 unmodified lines | |||
| 323 | $(NM) $@ | sed -n 's/.* __export_symbol_\(.*\)/EXPORT_SYMBOL(\1);/p' ; } | \ | 316 | $(NM) $@ | sed -n 's/.* __export_symbol_\(.*\)/EXPORT_SYMBOL(\1);/p' ; } | \ |
| 324 | $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | $(genksyms) | 317 | $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | $(genksyms) |
| 325 | 318 | ||
| 326 | quiet_cmd_cc_symtypes_S = SYM $(quiet_modtag) $@ | ||
| 327 | cmd_cc_symtypes_S = $(call cmd_gensymtypes_S,true,$@) >/dev/null | ||
| 328 | |||
| 329 | $(obj)/%.symtypes : $(obj)/%.S FORCE | ||
| 330 | $(call cmd,cc_symtypes_S) | ||
| 331 | |||
| 332 | |||
| 333 | quiet_cmd_cpp_s_S = CPP $(quiet_modtag) $@ | 319 | quiet_cmd_cpp_s_S = CPP $(quiet_modtag) $@ |
| 334 | cmd_cpp_s_S = $(CPP) $(a_flags) -o $@ $< | 320 | cmd_cpp_s_S = $(CPP) $(a_flags) -o $@ $< |
| 335 | 321 | ||