linux/scripts/package
Masahiro Yamada 76a48b8ffb kbuild: add a phony target to run a command with Kbuild env vars
There are some cases where we want to run a command with the same
environment variables as Kbuild uses. For example, 'make coccicheck'
invokes scripts/coccicheck from the top Makefile so that the script can
reference to ${LINUXINCLUDE}, ${KBUILD_EXTMOD}, etc. The top Makefile
defines several phony targets that run a script.

We do it also for an internally used script, which results in a somewhat
complex call graph.

One example:

 debian/rules binary-arch
   -> make intdeb-pkg
      -> scripts/package/builddeb

It is also tedious to add a dedicated target like 'intdeb-pkg' for each
use case.

Add a generic target 'run-command' to run an arbitrary command in an
environment with all Kbuild variables set.

The usage is:

  $ make run-command KBUILD_RUN_COMMAND=<command>

The concept is similar to:

  $ dpkg-architecture -c <command>

This executes <command> in an environment which has all DEB_* variables
defined.

Convert the existing 'make intdeb-pkg'.

Another possible usage is to interrogate a Make variable.

  $ make run-command KBUILD_RUN_COMMAND='echo $(KBUILD_CFLAGS)'

might be useful to see KBUILD_CFLAGS set by the top Makefile.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2023-07-25 00:59:32 +09:00
..
builddeb kbuild: deb-pkg: remove the CONFIG_MODULES check in buildeb 2023-06-27 08:31:27 +09:00
buildtar kbuild: tar-pkg: use tar rules in scripts/Makefile.package 2023-02-26 15:23:30 +09:00
deb-build-option kbuild: deb-pkg: set CROSS_COMPILE only when undefined 2023-03-15 15:15:07 +09:00
gen-diff-patch kbuild: give up untracked files for source package builds 2023-04-11 08:58:45 +09:00
mkdebian kbuild: add a phony target to run a command with Kbuild env vars 2023-07-25 00:59:32 +09:00
mkspec kbuild: rpm-pkg: replace $KERNELRELEASE in spec file with %{KERNELRELEASE} 2023-07-25 00:59:32 +09:00
snapcraft.template scripts/package: snap-pkg target 2017-12-13 00:00:18 +09:00