kbuild: make samples really depend on headers_install
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 8 Aug 2018 02:14:14 +0000 (11:14 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 9 Aug 2018 12:50:18 +0000 (21:50 +0900)
Kernel headers must be installed into $(objtree)/usr/include to avoid
the build failure of samples.

Commit ddea05fa148b ("kbuild: make samples depend on headers_install")
addressed this, but "samples/" is only used for the single target build.

"make samples/" properly installs kernel headers, but it does not work
for general building because a phony target "sample" (no trailing slash)
is used.

Reported-by: David Howells <dhowells@redhat.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: David Howells <dhowells@redhat.com>
Makefile

index d2832a4..bb917de 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1010,9 +1010,10 @@ ifdef CONFIG_GDB_SCRIPTS
 endif
        +$(call if_changed,link-vmlinux)
 
-# Build samples along the rest of the kernel
+# Build samples along the rest of the kernel. This needs headers_install.
 ifdef CONFIG_SAMPLES
 vmlinux-dirs += samples
+samples: headers_install
 endif
 
 # The actual objects are generated when descending,