toybox/kconfig/Makefile
<<
>>
Prefs
   1# ===========================================================================
   2# Kernel configuration targets
   3# These targets are used from top-level makefile
   4
   5KCONFIG_TOP = Config.in
   6KCONFIG_PROJECT = ToyBox
   7obj = ./kconfig
   8PHONY += clean help oldconfig menuconfig config silentoldconfig \
   9        randconfig allyesconfig allnoconfig allmodconfig defconfig
  10
  11menuconfig: $(obj)/mconf $(KCONFIG_TOP)
  12        $< $(KCONFIG_TOP)
  13
  14config: $(obj)/conf $(KCONFIG_TOP)
  15        $< $(KCONFIG_TOP)
  16
  17oldconfig: $(obj)/conf $(KCONFIG_TOP)
  18        $< -o $(KCONFIG_TOP)
  19
  20silentoldconfig: $(obj)/conf $(KCONFIG_TOP)
  21        yes | $< -o $(KCONFIG_TOP) > /dev/null
  22
  23randconfig: $(obj)/conf $(KCONFIG_TOP)
  24        $< -r $(KCONFIG_TOP) > /dev/null
  25
  26allyesconfig: $(obj)/conf $(KCONFIG_TOP)
  27        $< -y $(KCONFIG_TOP) > /dev/null
  28
  29allnoconfig: $(obj)/conf $(KCONFIG_TOP)
  30        $< -n $(KCONFIG_TOP) > /dev/null
  31
  32defconfig: $(obj)/conf $(KCONFIG_TOP)
  33        $< -D /dev/null $(KCONFIG_TOP) > /dev/null
  34
  35# Help text used by make help
  36help::
  37        @echo  '  config          - Update current config utilising a line-oriented program'
  38        @echo  '  menuconfig      - Update current config utilising a menu based program'
  39        @echo  '  oldconfig       - Update current config utilising a provided .config as base'
  40        @echo  '  silentoldconfig - Same as oldconfig, but quietly'
  41        @echo  '  randconfig      - New config with random answer to all options'
  42        @echo  '  defconfig       - New config with default answer to all options'
  43        @echo  '                    This is the maximum sane configuration.'
  44        @echo  '  allyesconfig    - New config where all options are accepted with yes'
  45        @echo  "                    This may not actually compile, it's a starting point"
  46        @echo  '                    for further configuration (probably with menuconfig)'
  47        @echo  '  allnoconfig     - New config where all options are answered with no'
  48        @echo  '                    (NOP binary, starting point for further configuration)'
  49
  50# Cheesy build
  51
  52SHIPPED = kconfig/zconf.tab.c kconfig/lex.zconf.c kconfig/zconf.hash.c
  53
  54%.c: %.c_shipped
  55        @ln -s $(notdir $<) $@
  56
  57gen_config.h: .config
  58
  59kconfig/mconf: $(SHIPPED)
  60        $(HOSTCC) -o $@ kconfig/mconf.c kconfig/zconf.tab.c \
  61                kconfig/lxdialog/*.c -lcurses -DCURSES_LOC="<ncurses.h>" \
  62                -DKBUILD_NO_NLS=1 -DPROJECT_NAME=\"$(KCONFIG_PROJECT)\"
  63
  64kconfig/conf: $(SHIPPED)
  65        $(HOSTCC) -o $@ kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
  66                -DPROJECT_NAME=\"$(KCONFIG_PROJECT)\"
  67
  68clean::
  69        rm -f $(wildcard kconfig/*zconf*.c) kconfig/conf kconfig/mconf
  70