# scripts contains sources for various helper programs used throughout
# the kernel for the build process.
# ---------------------------------------------------------------------------
-# docproc: Preprocess .tmpl file in order to generate .sgml docs
+# kallsyms: Find all symbols in vmlinux
+# pnmttologo: Convert pnm files to logo files
+# conmakehash: Create chartable
# conmakehash: Create arrays for initializing the kernel console tables
-host-progs := conmakehash kallsyms modpost mk_elfconfig pnmtologo bin2c
-always := $(host-progs) empty.o
+hostprogs-$(CONFIG_KALLSYMS) += kallsyms
+hostprogs-$(CONFIG_LOGO) += pnmtologo
+hostprogs-$(CONFIG_VT) += conmakehash
+hostprogs-$(CONFIG_PROM_CONSOLE) += conmakehash
+hostprogs-$(CONFIG_IKCONFIG) += bin2c
-modpost-objs := modpost.o file2alias.o sumversion.o
+always := $(hostprogs-y) $(hostprogs-m)
-subdir-$(CONFIG_MODVERSIONS) += genksyms
+# The following hostprogs-y programs are only build on demand
+hostprogs-y += unifdef
-# Let clean descend into subdirs
-subdir- += basic lxdialog kconfig
-
-# dependencies on generated files need to be listed explicitly
-
-$(obj)/modpost.o $(obj)/file2alias.o $(obj)/sumversion.o: $(obj)/elfconfig.h
+subdir-$(CONFIG_MODVERSIONS) += genksyms
+subdir-y += mod
-quiet_cmd_elfconfig = MKELF $@
- cmd_elfconfig = $(obj)/mk_elfconfig $(ARCH) < $< > $@
-
-$(obj)/elfconfig.h: $(obj)/empty.o $(obj)/mk_elfconfig FORCE
- $(call if_changed,elfconfig)
-
-targets += elfconfig.h
+# Let clean descend into subdirs
+subdir- += basic kconfig package