Makefile revision cd2edfd6a13848e387f836252464de4662a22205
15257cf54a5810105bc4a75703a06740d756d8e8landley# ===========================================================================
25257cf54a5810105bc4a75703a06740d756d8e8landley# Kernel configuration targets
35257cf54a5810105bc4a75703a06740d756d8e8landley# These targets are used from top-level makefile
45257cf54a5810105bc4a75703a06740d756d8e8landley
55257cf54a5810105bc4a75703a06740d756d8e8landleyKCONFIG_TOP = Config.in
65257cf54a5810105bc4a75703a06740d756d8e8landleyobj = ./kconfig
75257cf54a5810105bc4a75703a06740d756d8e8landleyPHONY += clean help oldconfig menuconfig config silentoldconfig \
85257cf54a5810105bc4a75703a06740d756d8e8landley	randconfig allyesconfig allnoconfig allmodconfig defconfig
95257cf54a5810105bc4a75703a06740d756d8e8landley
105257cf54a5810105bc4a75703a06740d756d8e8landleymenuconfig: $(obj)/mconf
115257cf54a5810105bc4a75703a06740d756d8e8landley	$< $(KCONFIG_TOP)
125257cf54a5810105bc4a75703a06740d756d8e8landley
135257cf54a5810105bc4a75703a06740d756d8e8landleyconfig: $(obj)/conf
145257cf54a5810105bc4a75703a06740d756d8e8landley	$< $(KCONFIG_TOP)
155257cf54a5810105bc4a75703a06740d756d8e8landley
165257cf54a5810105bc4a75703a06740d756d8e8landleyoldconfig: $(obj)/conf
175257cf54a5810105bc4a75703a06740d756d8e8landley	$< -o $(KCONFIG_TOP)
185257cf54a5810105bc4a75703a06740d756d8e8landley
195257cf54a5810105bc4a75703a06740d756d8e8landleysilentoldconfig: $(obj)/conf
205257cf54a5810105bc4a75703a06740d756d8e8landley	$< -s $(KCONFIG_TOP)
215257cf54a5810105bc4a75703a06740d756d8e8landley
225257cf54a5810105bc4a75703a06740d756d8e8landleyrandconfig: $(obj)/conf
235257cf54a5810105bc4a75703a06740d756d8e8landley	$< -r $(KCONFIG_TOP)
245257cf54a5810105bc4a75703a06740d756d8e8landley
255257cf54a5810105bc4a75703a06740d756d8e8landleyallyesconfig: $(obj)/conf
265257cf54a5810105bc4a75703a06740d756d8e8landley	$< -y $(KCONFIG_TOP)
275257cf54a5810105bc4a75703a06740d756d8e8landley
285257cf54a5810105bc4a75703a06740d756d8e8landleyallnoconfig: $(obj)/conf
295257cf54a5810105bc4a75703a06740d756d8e8landley	$< -n $(KCONFIG_TOP)
305257cf54a5810105bc4a75703a06740d756d8e8landley
315257cf54a5810105bc4a75703a06740d756d8e8landleydefconfig: $(obj)/conf
325257cf54a5810105bc4a75703a06740d756d8e8landley	$< -d $(KCONFIG_TOP)
335257cf54a5810105bc4a75703a06740d756d8e8landley
345257cf54a5810105bc4a75703a06740d756d8e8landley# Help text used by make help
35cd2edfd6a13848e387f836252464de4662a22205Rob Landleyhelp::
365257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  config	  - Update current config utilising a line-oriented program'
375257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  menuconfig	  - Update current config utilising a menu based program'
385257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  oldconfig	  - Update current config utilising a provided .config as base'
395257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  silentoldconfig - Same as oldconfig, but quietly'
405257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  randconfig	  - New config with random answer to all options'
415257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  defconfig	  - New config with default answer to all options'
425257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  allyesconfig	  - New config where all options are accepted with yes'
435257cf54a5810105bc4a75703a06740d756d8e8landley	@echo  '  allnoconfig	  - New config where all options are answered with no'
445257cf54a5810105bc4a75703a06740d756d8e8landley
455257cf54a5810105bc4a75703a06740d756d8e8landley# Cheesy build
465257cf54a5810105bc4a75703a06740d756d8e8landley
475257cf54a5810105bc4a75703a06740d756d8e8landleySHIPPED = kconfig/zconf.tab.c kconfig/lex.zconf.c kconfig/zconf.hash.c
485257cf54a5810105bc4a75703a06740d756d8e8landley
495257cf54a5810105bc4a75703a06740d756d8e8landley%.c: %.c_shipped
505257cf54a5810105bc4a75703a06740d756d8e8landley	@ln -s $(notdir $<) $@
515257cf54a5810105bc4a75703a06740d756d8e8landley
525257cf54a5810105bc4a75703a06740d756d8e8landleygen_config.h: .config
535257cf54a5810105bc4a75703a06740d756d8e8landley
545257cf54a5810105bc4a75703a06740d756d8e8landleykconfig/mconf: $(SHIPPED)
5561a9cc57e791d37c7940d5e5aa83806c0543635bRob Landley	$(HOST_CC) -o $@ kconfig/{mconf.c,zconf.tab.c,lxdialog/*.c} \
565257cf54a5810105bc4a75703a06740d756d8e8landley		-lcurses "-DCURSES_LOC=<ncurses.h>"
575257cf54a5810105bc4a75703a06740d756d8e8landley
585257cf54a5810105bc4a75703a06740d756d8e8landleykconfig/conf: $(SHIPPED)
5961a9cc57e791d37c7940d5e5aa83806c0543635bRob Landley	$(HOST_CC) -o $@ kconfig/{conf.c,zconf.tab.c}
605257cf54a5810105bc4a75703a06740d756d8e8landley
615257cf54a5810105bc4a75703a06740d756d8e8landleyclean::
625257cf54a5810105bc4a75703a06740d756d8e8landley	rm -f $(wildcard kconfig/*zconf*.c) kconfig/{conf,mconf}
63