Makefile revision e35f2b831201cbe220e97d1b36f8fec3981a9065
15257cf54a5810105bc4a75703a06740d756d8e8landley# ===========================================================================
25257cf54a5810105bc4a75703a06740d756d8e8landley# Kernel configuration targets
35257cf54a5810105bc4a75703a06740d756d8e8landley# These targets are used from top-level makefile
45257cf54a5810105bc4a75703a06740d756d8e8landley
55257cf54a5810105bc4a75703a06740d756d8e8landleyKCONFIG_TOP = Config.in
6217047b6b2a4ecfe87bda18fa425dc2df998f564Rob LandleyKCONFIG_PROJECT = ToyBox
75257cf54a5810105bc4a75703a06740d756d8e8landleyobj = ./kconfig
85257cf54a5810105bc4a75703a06740d756d8e8landleyPHONY += clean help oldconfig menuconfig config silentoldconfig \
9e35f2b831201cbe220e97d1b36f8fec3981a9065Rob Landley	randconfig allyesconfig allnoconfig allmodconfig defconfig
105257cf54a5810105bc4a75703a06740d756d8e8landley
115257cf54a5810105bc4a75703a06740d756d8e8landleymenuconfig: $(obj)/mconf
125257cf54a5810105bc4a75703a06740d756d8e8landley	$< $(KCONFIG_TOP)
135257cf54a5810105bc4a75703a06740d756d8e8landley
145257cf54a5810105bc4a75703a06740d756d8e8landleyconfig: $(obj)/conf
155257cf54a5810105bc4a75703a06740d756d8e8landley	$< $(KCONFIG_TOP)
165257cf54a5810105bc4a75703a06740d756d8e8landley
175257cf54a5810105bc4a75703a06740d756d8e8landleyoldconfig: $(obj)/conf
185257cf54a5810105bc4a75703a06740d756d8e8landley	$< -o $(KCONFIG_TOP)
195257cf54a5810105bc4a75703a06740d756d8e8landley
205257cf54a5810105bc4a75703a06740d756d8e8landleysilentoldconfig: $(obj)/conf
215257cf54a5810105bc4a75703a06740d756d8e8landley	$< -s $(KCONFIG_TOP)
225257cf54a5810105bc4a75703a06740d756d8e8landley
235257cf54a5810105bc4a75703a06740d756d8e8landleyrandconfig: $(obj)/conf
245257cf54a5810105bc4a75703a06740d756d8e8landley	$< -r $(KCONFIG_TOP)
255257cf54a5810105bc4a75703a06740d756d8e8landley
265257cf54a5810105bc4a75703a06740d756d8e8landleyallyesconfig: $(obj)/conf
275257cf54a5810105bc4a75703a06740d756d8e8landley	$< -y $(KCONFIG_TOP)
285257cf54a5810105bc4a75703a06740d756d8e8landley
295257cf54a5810105bc4a75703a06740d756d8e8landleyallnoconfig: $(obj)/conf
305257cf54a5810105bc4a75703a06740d756d8e8landley	$< -n $(KCONFIG_TOP)
315257cf54a5810105bc4a75703a06740d756d8e8landley
32e35f2b831201cbe220e97d1b36f8fec3981a9065Rob Landleydefconfig: $(obj)/conf
33e35f2b831201cbe220e97d1b36f8fec3981a9065Rob Landley	$< -D /dev/null $(KCONFIG_TOP)
345257cf54a5810105bc4a75703a06740d756d8e8landley
355257cf54a5810105bc4a75703a06740d756d8e8landley# Help text used by make help
36cd2edfd6a13848e387f836252464de4662a22205Rob Landleyhelp::
375257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  config	  - Update current config utilising a line-oriented program'
385257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  menuconfig	  - Update current config utilising a menu based program'
395257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  oldconfig	  - Update current config utilising a provided .config as base'
405257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  silentoldconfig - Same as oldconfig, but quietly'
415257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  randconfig	  - New config with random answer to all options'
425257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  defconfig	  - New config with default answer to all options'
435257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  allyesconfig	  - New config where all options are accepted with yes'
445257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  allnoconfig	  - New config where all options are answered with no'
455257cf54a5810105bc4a75703a06740d756d8e8landley
465257cf54a5810105bc4a75703a06740d756d8e8landley# Cheesy build
475257cf54a5810105bc4a75703a06740d756d8e8landley
485257cf54a5810105bc4a75703a06740d756d8e8landleySHIPPED = kconfig/zconf.tab.c kconfig/lex.zconf.c kconfig/zconf.hash.c
495257cf54a5810105bc4a75703a06740d756d8e8landley
505257cf54a5810105bc4a75703a06740d756d8e8landley%.c: %.c_shipped
515257cf54a5810105bc4a75703a06740d756d8e8landley	@ln -s $(notdir $<) $@
525257cf54a5810105bc4a75703a06740d756d8e8landley
535257cf54a5810105bc4a75703a06740d756d8e8landleygen_config.h: .config
545257cf54a5810105bc4a75703a06740d756d8e8landley
555257cf54a5810105bc4a75703a06740d756d8e8landleykconfig/mconf: $(SHIPPED)
56217047b6b2a4ecfe87bda18fa425dc2df998f564Rob Landley	$(HOSTCC) -o $@ kconfig/mconf.c kconfig/zconf.tab.c \
57217047b6b2a4ecfe87bda18fa425dc2df998f564Rob Landley		kconfig/lxdialog/*.c -lcurses -DCURSES_LOC="<ncurses.h>" \
58217047b6b2a4ecfe87bda18fa425dc2df998f564Rob Landley		-DKBUILD_NO_NLS=1 -DPROJECT_NAME=\"$(KCONFIG_PROJECT)\"
595257cf54a5810105bc4a75703a06740d756d8e8landley
605257cf54a5810105bc4a75703a06740d756d8e8landleykconfig/conf: $(SHIPPED)
619fdf465b913ee35a17cf8d9758292afb0cac8a9fRob Landley	$(HOSTCC) -o $@ kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
62217047b6b2a4ecfe87bda18fa425dc2df998f564Rob Landley		-DPROJECT_NAME=\"$(KCONFIG_PROJECT)\"
635257cf54a5810105bc4a75703a06740d756d8e8landley
645257cf54a5810105bc4a75703a06740d756d8e8landleyclean::
659fdf465b913ee35a17cf8d9758292afb0cac8a9fRob Landley	rm -f $(wildcard kconfig/*zconf*.c) kconfig/conf kconfig/mconf
66