kbuild: use in-kernel unifdef
Sam Ravnborg [Sun, 23 Jul 2006 18:47:50 +0000 (20:47 +0200)]
Let headers_install use in-kernel unifdef

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

Makefile
scripts/Makefile
scripts/Makefile.headersinst

index edfc2fd..b06b1ea 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -893,8 +893,8 @@ INSTALL_HDR_PATH=$(objtree)/usr
 export INSTALL_HDR_PATH
 
 PHONY += headers_install
-headers_install: include/linux/version.h
-       $(Q)unifdef -Ux /dev/null
+headers_install: include/linux/version.h scripts_basic FORCE
+       $(Q)$(MAKE) $(build)=scripts scripts/unifdef
        $(Q)rm -rf $(INSTALL_HDR_PATH)/include
        $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.headersinst obj=include
 
index 6f6b48f..d531a1f 100644 (file)
@@ -15,6 +15,9 @@ hostprogs-$(CONFIG_IKCONFIG)     += bin2c
 
 always         := $(hostprogs-y)
 
+# The following hostprogs-y programs are only build on demand
+hostprogs-y += unifdef
+
 subdir-$(CONFIG_MODVERSIONS) += genksyms
 subdir-$(CONFIG_MODULES)     += mod
 
index 12e1daf..8c02d2d 100644 (file)
@@ -7,7 +7,7 @@
 #
 # ==========================================================================
 
-UNIFDEF := unifdef -U__KERNEL__
+UNIFDEF := scripts/unifdef -U__KERNEL__
 
 # Eliminate the contents of (and inclusions of) compiler.h
 HDRSED  := sed         -e "s/ inline / __inline__ /g" \