]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
bpf: Use $(pound) instead of \# in Makefiles
authorQuentin Monnet <quentin@isovalent.com>
Wed, 6 Oct 2021 11:10:49 +0000 (12:10 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Wed, 6 Oct 2021 19:34:02 +0000 (12:34 -0700)
commit929bef467771d4d5a22b9edb51a2025dc0e49113
treee33de0738babed1771644a310480924107c8efdc
parent90982e13561e0d8df91d49658d3bf068ae9f2dff
bpf: Use $(pound) instead of \# in Makefiles

Recent-ish versions of make do no longer consider number signs ("#") as
comment symbols when they are inserted inside of a macro reference or in
a function invocation. In such cases, the symbols should not be escaped.

There are a few occurrences of "\#" in libbpf's and samples' Makefiles.
In the former, the backslash is harmless, because grep associates no
particular meaning to the escaped symbol and reads it as a regular "#".
In samples' Makefile, recent versions of make will pass the backslash
down to the compiler, making the probe fail all the time and resulting
in the display of a warning about "make headers_install" being required,
even after headers have been installed.

A similar issue has been addressed at some other locations by commit
9564a8cf422d ("Kbuild: fix # escaping in .cmd files for future Make").
Let's address it for libbpf's and samples' Makefiles in the same
fashion, by using a "$(pound)" variable (pulled from
tools/scripts/Makefile.include for libbpf, or re-defined for the
samples).

Reference for the change in make:
https://git.savannah.gnu.org/cgit/make.git/commit/?id=c6966b323811c37acedff05b57

Fixes: 2f3830412786 ("libbpf: Make libbpf_version.h non-auto-generated")
Fixes: 07c3bbdb1a9b ("samples: bpf: print a warning about headers_install")
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211006111049.20708-1-quentin@isovalent.com
samples/bpf/Makefile
tools/lib/bpf/Makefile