kernel_optimize_test/scripts
Masahiro Yamada c07d8d47bc kbuild: show hint if subdir-y/m is used to visit module Makefile
Since commit ff9b45c55b ("kbuild: modpost: read modules.order instead
of $(MODVERDIR)/*.mod"), a module is no longer built in the following
pattern:

  [Makefile]
  subdir-y := some-module

  [some-module/Makefile]
  obj-m := some-module.o

You cannot write Makefile this way in upstream because modules.order is
not correctly generated. subdir-y is used to descend to a sub-directory
that builds tools, device trees, etc.

For external modules, the modules order does not matter. So, the
Makefile above was known to work.

I believe the Makefile should be re-written as follows:

  [Makefile]
  obj-m := some-module/

  [some-module/Makefile]
  obj-m := some-module.o

However, people will have no idea if their Makefile suddenly stops
working. In fact, I received questions from multiple people.

Show a warning for a while if obj-m is specified in a Makefile visited
by subdir-y or subdir-m.

I touched the %/ rule to avoid false-positive warnings for the single
target.

Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Tom Stonecypher <thomas.edwardx.stonecypher@intel.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
2019-08-10 01:45:31 +09:00
..
atomic locking/atomics: Use sed(1) instead of non-standard head(1) option 2019-06-25 10:17:07 +02:00
basic fixdep: check return value of printf() and putchar() 2019-07-01 10:30:39 +09:00
coccinelle Kbuild updates for v5.3 (2nd) 2019-07-20 09:34:55 -07:00
dtc Devicetree updates for v5.3: 2019-07-11 18:35:30 -07:00
gcc-plugins docs: move gcc_plugins.txt to core-api and rename to .rst 2019-07-15 09:20:27 -03:00
gdb scripts/gdb: add helpers to find and list devices 2019-07-16 19:23:24 -07:00
genksyms genksyms: Teach parser about 128-bit built-in types 2019-06-24 03:43:03 +09:00
kconfig kconfig: Clear "written" flag to avoid data loss 2019-08-04 12:44:15 +09:00
ksymoops
mod kbuild: remove the first line of *.mod files 2019-07-18 02:19:31 +09:00
package kbuild: create *.mod with full directory path and remove MODVERDIR 2019-07-18 02:19:31 +09:00
selinux
tracing
.gitignore
adjust_autoksyms.sh kbuild: remove the first line of *.mod files 2019-07-18 02:19:31 +09:00
asn1_compiler.c
bin2c.c
bloat-o-meter
bootgraph.pl
bpf_helpers_doc.py
cc-can-link.sh
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl checkpatch.pl: warn on duplicate sysctl local variable 2019-07-16 19:23:22 -07:00
checkstack.pl
checksyscalls.sh
checkversion.pl
clang-version.sh
cleanfile
cleanpatch
coccicheck
config
conmakehash.c
const_structs.checkpatch
decode_stacktrace.sh scripts/decode_stacktrace: Accept dash/underscore in modules 2019-07-12 11:05:41 -07:00
decodecode
depmod.sh
diffconfig
documentation-file-ref-check
export_report.pl kbuild: export_report: read modules.order instead of .tmp_versions/*.mod 2019-07-18 02:19:31 +09:00
extract_xc3028.pl
extract-cert.c
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
faddr2line
file-size.sh
find-unused-docs.sh
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_compile_commands.py gen_compile_commands: lower the entry count threshold 2019-07-27 12:18:19 +09:00
gen_ksymdeps.sh
get_abi.pl doc: ABI scripts: add a SPDX header file 2019-06-21 16:58:37 +02:00
get_dvb_firmware
get_maintainer.pl get_maintainer: add ability to skip moderated mailing lists 2019-07-16 19:23:22 -07:00
gfp-translate
headerdep.pl
headers_check.pl
headers_install.sh kbuild: detect missing "WITH Linux-syscall-note" for uapi headers 2019-07-29 10:05:41 +09:00
insert-sys-cert.c
kallsyms.c kallsyms: exclude kasan local symbols on s390 2019-07-08 02:25:59 +09:00
Kbuild.include kbuild: remove unused objectify macro 2019-07-27 12:18:19 +09:00
Kconfig.include kbuild: Check for unknown options with cc-option usage in Kconfig and clang 2019-08-01 00:12:07 +09:00
kernel-doc kernel-doc: Don't try to mark up function names 2019-06-26 11:14:15 -06:00
ld-version.sh
leaking_addresses.pl
Lindent
link-vmlinux.sh kbuild: modpost: do not parse unnecessary rules for vmlinux modpost 2019-08-01 00:09:49 +09:00
Makefile
Makefile.asm-generic
Makefile.build kbuild: show hint if subdir-y/m is used to visit module Makefile 2019-08-10 01:45:31 +09:00
Makefile.clean
Makefile.dtbinst
Makefile.extrawarn kbuild: Remove unnecessary -Wno-unused-value 2019-06-24 03:43:03 +09:00
Makefile.gcc-plugins
Makefile.headersinst kbuild: fix 'No such file or directory' warning for headers_install 2019-06-24 03:43:03 +09:00
Makefile.host Kbuild updates for v5.3 2019-07-12 16:03:16 -07:00
Makefile.kasan
Makefile.kcov
Makefile.lib kbuild: remove unused single-used-m 2019-07-27 12:18:19 +09:00
Makefile.modbuiltin kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin} 2019-07-17 22:39:27 +09:00
Makefile.modinst kbuild: modinst: read modules.order instead of $(MODVERDIR)/*.mod 2019-07-17 22:39:27 +09:00
Makefile.modpost kbuild: revive single target %.ko 2019-08-10 01:40:25 +09:00
Makefile.modsign kbuild: modsign: read modules.order instead of $(MODVERDIR)/*.mod 2019-07-17 22:39:27 +09:00
Makefile.ubsan
makelst
markup_oops.pl
mkcompile_h
mkmakefile
mksysmap
mkuboot.sh
module-common.lds
modules-check.sh kbuild: get rid of kernel/ prefix from in-tree modules.{order,builtin} 2019-07-17 22:39:27 +09:00
namespace.pl
objdiff
parse-maintainers.pl
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
recordmcount.c
recordmcount.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
recordmcount.pl
setlocalversion
show_delta
sign-file.c
sortextable.c
sortextable.h
spdxcheck-test.sh
spdxcheck.py
spelling.txt scripts/spelling.txt: add more spellings to spelling.txt 2019-07-12 11:05:41 -07:00
sphinx-pre-install scripts/sphinx-pre-install: seek for Noto CJK fonts for pdf output 2019-07-17 06:57:52 -03:00
split-man.pl
stackdelta
stackusage
subarch.include
tags.sh kbuild: add a flag to force absolute path for srctree 2019-07-11 00:05:09 +09:00
unifdef.c
ver_linux
xen-hypercalls.sh
xz_wrap.sh