kbuild: do not create empty modules.order in the prepare stage
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 17 Jul 2019 06:17:49 +0000 (15:17 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 17 Jul 2019 13:39:27 +0000 (22:39 +0900)
commit7e13191879d6d589cd987a8db3a70019251fc757
treebb7f7e187bc33cdee33c2518321aeb98cc8a328b
parentd09778d16e20bc4f1f4971cc9a9fd7ff6ba898ff
kbuild: do not create empty modules.order in the prepare stage

Currently, $(objtree)/modules.order is touched in two places.

In the 'prepare0' rule, scripts/Makefile.build creates an empty
modules.order while processing 'obj=.'

In the 'modules' rule, the top-level Makefile overwrites it with
the correct list of modules.

While this might be a good side-effect that modules.order is made
empty every time (probably this is not intended functionality),
I personally do not like this behavior.

Create modules.order only when it is sensible to do so.

This avoids creating the following pointless files:

  scripts/basic/modules.order
  scripts/dtc/modules.order
  scripts/gcc-plugins/modules.order
  scripts/genksyms/modules.order
  scripts/mod/modules.order
  scripts/modules.order
  scripts/selinux/genheaders/modules.order
  scripts/selinux/mdp/modules.order
  scripts/selinux/modules.order

Going forward, $(objtree)/modules.order lists the modules that
was built in the last successful build.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Makefile
scripts/Makefile.build