blob: 2e8e5dcd7ef81479f866ad774e6166973414d2e0 [file] [log] [blame]
# ===========================================================================
# Kernel configuration targets
# These targets are used from top-level makefile
obj = ./kconfig
PHONY += clean help oldconfig menuconfig config silentoldconfig \
randconfig allyesconfig allnoconfig allmodconfig defconfig
menuconfig: $(obj)/mconf $(KCONFIG_TOP)
config: $(obj)/conf $(KCONFIG_TOP)
oldconfig: $(obj)/conf $(KCONFIG_TOP)
$< -o $(KCONFIG_TOP)
silentoldconfig: $(obj)/conf $(KCONFIG_TOP)
yes '' | $< -o $(KCONFIG_TOP) > /dev/null
randconfig: $(obj)/conf $(KCONFIG_TOP)
$< -r $(KCONFIG_TOP) > /dev/null
allyesconfig: $(obj)/conf $(KCONFIG_TOP)
$< -y $(KCONFIG_TOP) > /dev/null
allnoconfig: $(obj)/conf $(KCONFIG_TOP)
$< -n $(KCONFIG_TOP) > /dev/null
defconfig: $(obj)/conf $(KCONFIG_TOP)
macos_defconfig: $(obj)/conf $(KCONFIG_TOP)
KCONFIG_ALLCONFIG=$(obj)/macos_miniconfig $< -n $(KCONFIG_TOP) > /dev/null
bsd_defconfig: $(obj)/conf $(KCONFIG_TOP)
KCONFIG_ALLCONFIG=$(obj)/freebsd_miniconfig $< -n $(KCONFIG_TOP) > /dev/null
# Help text used by make help
@echo ' config - Update current config utilising a line-oriented program'
@echo ' menuconfig - Update current config utilising a menu based program'
@echo ' oldconfig - Update current config utilising a provided .config as base'
@echo ' silentoldconfig - Same as oldconfig, but quietly'
@echo ' randconfig - New config with random answer to all options'
@echo ' defconfig - New config with default answer to all options'
@echo ' This is the maximum sane configuration.'
@echo ' allyesconfig - New config where all options are accepted with yes'
@echo " This may not actually compile, it's a starting point"
@echo ' for further configuration (probably with menuconfig)'
@echo ' allnoconfig - New config where all options are answered with no'
@echo ' (NOP binary, starting point for further configuration)'
@echo ' macos_defconfig - Select commands known to build on macosx'
@echo ' bsd_defconfig - Select commands known to build on freebsd'
# Cheesy build
SHIPPED = kconfig/ kconfig/lex.zconf.c kconfig/zconf.hash.c
%.c: %.c_shipped
@ln -s $(notdir $<) $@
gen_config.h: .config
kconfig/mconf: $(SHIPPED)
$(HOSTCC) -o $@ kconfig/mconf.c kconfig/ \
kconfig/lxdialog/*.c -lcurses -DCURSES_LOC="<ncurses.h>" \
kconfig/conf: $(SHIPPED)
$(HOSTCC) -o $@ kconfig/conf.c kconfig/ -DKBUILD_NO_NLS=1 \
@rm -f $(wildcard kconfig/*zconf*.c) kconfig/conf kconfig/mconf