Basic implementation of 'make headers_install'
authorDavid Woodhouse <dwmw2@infradead.org>
Sun, 18 Jun 2006 10:58:39 +0000 (11:58 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Sun, 18 Jun 2006 10:58:39 +0000 (11:58 +0100)
This adds a make target which exports a subset of headers which contain
definitions which are useful for system libraries and tools. It uses the
BSD 'unifdef' tool to remove instances of #ifdef __KERNEL__, and uses
sed to remove markers like __user.

Based on an original implementation by Arnd Bergmann <arnd@arndb.de>
Hacked about by David Woodhouse <dwmw2@infradead.org>
Reviewed and cleaned up by Sam Ravnborg <sam@ravnborg.org>

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Makefile
scripts/Makefile.headersinst [new file with mode: 0644]

index 3494c17..98e5af7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -855,6 +855,17 @@ PHONY += depend dep
 depend dep:
        @echo '*** Warning: make $@ is unnecessary now.'
 
+# ---------------------------------------------------------------------------
+# Kernel headers
+INSTALL_HDR_PATH=$(MODLIB)/abi
+export INSTALL_HDR_PATH
+
+PHONY += headers_install
+headers_install: include/linux/version.h
+       $(Q)unifdef -Ux /dev/null
+       $(Q)rm -rf $(INSTALL_HDR_PATH)/include
+       $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.headersinst obj=include
+
 # ---------------------------------------------------------------------------
 # Modules
 
@@ -1027,6 +1038,8 @@ help:
        @echo  '  cscope          - Generate cscope index'
        @echo  '  kernelrelease   - Output the release version string'
        @echo  '  kernelversion   - Output the version stored in Makefile'
+       @echo  '  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
+       @echo  '                    (default: /lib/modules/$$VERSION/abi)'
        @echo  ''
        @echo  'Static analysers'
        @echo  '  checkstack      - Generate a list of stack hogs'
Simple merge