亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? menuconfig

?? MAKEFILE 經典編寫方法
??
?? 第 1 頁 / 共 2 頁
字號:
#! /bin/sh## This script is used to configure the linux kernel.## It was inspired by a desire to not have to hit <enter> 9 million times# or startup the X server just to change a single kernel parameter.  ## This script attempts to parse the configuration files, which are# scattered throughout the kernel source tree, and creates a temporary# set of mini scripts which are in turn used to create nested menus and# radiolists.## It uses a very modified/mutilated version of the "dialog" utility# written by Savio Lam (lam836@cs.cuhk.hk). Savio is not responsible# for this script or the version of dialog used by this script.# Please do not contact him with questions. The official version of # dialog is available at sunsite.unc.edu or a sunsite mirror.## Portions of this script were borrowed from the original Configure# script.## William Roadcap was the original author of Menuconfig.# Michael Elizabeth Chastain (mec@shout.net) is the current maintainer.## 070497 Bernhard Kaindl (bkaindl@netway.at) - get default values for# new bool, tristate and dep_tristate parameters from the defconfig file.# new configuration parameters are marked with '(NEW)' as in make config.## 180697 Bernhard Kaindl (bkaindl@netway.at) - added the needed support# for string options. They are handled like the int and hex options.## 081297 Pavel Machek (pavel@atrey.karlin.mff.cuni.cz) - better error # handling## 131197 Michael Chastain (mec@shout.net) - output all lines for a# choice list, not just the selected one.  This makes the output# the same as Configure output, which is important for smart config# dependencies.## 101297 Michael Chastain (mec@shout.net) - remove sound driver cruft.## 221297 Michael Chastain (mec@shout.net) - make define_bool actually# define its arguments so that later tests on them work right.## 160198 Michael Chastain (mec@shout.net) - fix bug with 'c' command# (complement existing value) when used on virgin uninitialized variables.## 090398 Axel Boldt (boldt@math.ucsb.edu) - allow for empty lines in help# texts.## 12 Dec 1998, Michael Elizabeth Chastain (mec@shout.net)# Remove a /tmp security hole in get_def (also makes it faster).# Give uninitialized variables canonical values rather than null value.# Change a lot of places to call set_x_info uniformly.# Take out message about preparing version (old sound driver cruft).## 13 Dec 1998, Riley H Williams <rhw@memalpha.cx># When an error occurs, actually display the error message as well as# our comments thereon.## 31 Dec 1998, Michael Elizabeth Chastain (mec@shout.net)# Fix mod_bool to honor $CONFIG_MODULES.# Fix dep_tristate to call define_bool when dependency is "n".## 02 January 1999, Michael Elizabeth Chastain (mec@shout.net)# Blow away lxdialog.scrltmp on entry to activate_menu.  This protects# against people who use commands like ' ' to select menus.## 24 January 1999, Michael Elizabeth Chastain, <mec@shout.net># - Improve the exit message (Jeff Ronne).## 06 July 1999, Andrzej M. Krzysztofowicz, <ankry@mif.pg.gda.pl># - Support for multiple conditions in dep_tristate().# - Implemented new functions: define_tristate(), define_int(), define_hex(),#   define_string(), dep_bool().# ## Change this to TRUE if you prefer all kernel options listed# in a single menu rather than the standard menu hierarchy.#single_menu_mode=## Make sure we're really running bash.#[ -z "$BASH" ] && { echo "Menuconfig requires bash" 1>&2; exit 1; }## Cache function definitions, turn off posix compliance#set -h +o posix# Given a configuration variable, set the global variable $x to its value,# and the global variable $info to the string " (NEW)" if this is a new# variable.## This function looks for: (1) the current value, or (2) the default value# from the arch-dependent defconfig file, or (3) a default passed by the caller.function set_x_info () {    eval x=\$$1    if [ -z "$x" ]; then	eval `sed -n -e 's/# \(.*\) is not set.*/\1=n/' -e "/^$1=/p" arch/$ARCH/defconfig`	eval x=\${$1:-"$2"}	eval $1=$x	eval INFO_$1="' (NEW)'"    fi    eval info="\$INFO_$1"}## Load the functions used by the config.in files.## I do this because these functions must be redefined depending# on whether they are being called for interactive use or for# saving a configuration to a file.## Thank the heavens bash supports nesting function definitions.#load_functions () {## Additional comments#function comment () {	comment_ctr=$[ comment_ctr + 1 ]	echo -ne "': $comment_ctr' '--- $1' " >>MCmenu}## Define a boolean to a specific value.#function define_bool () {	eval $1=$2}function define_tristate () {	eval $1=$2}function define_hex () {	eval $1=$2}function define_int () {	eval $1=$2}function define_string () {	eval $1="$2"}## Create a boolean (Yes/No) function for our current menu# which calls our local bool function.#function bool () {	set_x_info "$2" "n"	case $x in	y|m)	flag="*" ;;	n)	flag=" " ;;	esac	echo -ne "'$2' '[$flag] $1$info' " >>MCmenu	echo -e "function $2 () { l_bool '$2' \"\$1\" ;}\n" >>MCradiolists}## Create a tristate (Yes/No/Module) radiolist function# which calls our local tristate function.## Collapses to a boolean (Yes/No) if module support is disabled.#function tristate () {	if [ "$CONFIG_MODULES" != "y" ]	then		bool "$1" "$2"	else		set_x_info "$2" "n"			case $x in		y) flag="*" ;;		m) flag="M" ;;		*) flag=" " ;;		esac			echo -ne "'$2' '<$flag> $1$info' " >>MCmenu			echo -e "		function $2 () { l_tristate '$2' \"\$1\" ;}" >>MCradiolists	fi}## Create a tristate radiolist function which is dependent on# another kernel configuration option.## Quote from the original configure script:##       If the option we depend upon is a module,#       then the only allowable options are M or N.  If Y, then#       this is a normal tristate.  This is used in cases where modules#       are nested, and one module requires the presence of something#       else in the kernel.#function dep_tristate () {	ques="$1"	var="$2"	dep=y	shift 2	while [ $# -gt 0 ]; do		if   [ "$1" = y ]; then			shift		elif [ "$1" = m ]; then			dep=m			shift		else			dep=n			shift $#		fi	done	if [ "$dep" = y ]; then	    tristate "$ques" "$var"	elif [ "$dep" = m ]; then	    mod_bool "$ques" "$var"	else 	    define_tristate "$var" n	fi}##   Same as above, but now only Y and N are allowed as dependency#   (i.e. third and next arguments).#function dep_bool () {	ques="$1"	var="$2"	dep=y	shift 2	while [ $# -gt 0 ]; do		if [ "$1" = y ]; then			shift		else			dep=n			shift $#		fi	done	if [ "$dep" = y ]; then	    bool "$ques" "$var"	else 	    define_bool "$var" n	fi}function dep_mbool () {	ques="$1"	var="$2"	dep=y	shift 2	while [ $# -gt 0 ]; do		if [ "$1" = y -o "$1" = m ]; then			shift		else			dep=n			shift $#		fi	done	if [ "$dep" = y ]; then	    bool "$ques" "$var"	else 	    define_bool "$var" n	fi}## Add a menu item which will call our local int function.# function int () {	set_x_info "$2" "$3"	echo -ne "'$2' '($x) $1$info' " >>MCmenu	echo -e "function $2 () { l_int '$1' '$2' '$3' '$x' ;}" >>MCradiolists}## Add a menu item which will call our local hex function.# function hex () {	set_x_info "$2" "$3"	x=${x##*[x,X]}	echo -ne "'$2' '($x) $1$info' " >>MCmenu	echo -e "function $2 () { l_hex '$1' '$2' '$3' '$x' ;}" >>MCradiolists}## Add a menu item which will call our local string function.# function string () {	set_x_info "$2" "$3"	echo -ne "'$2' '     $1: \"$x\"$info' " >>MCmenu	echo -e "function $2 () { l_string '$1' '$2' '$3' '$x' ;}" >>MCradiolists}## Add a menu item which will call our local One-of-Many choice list.#function choice () {	#	# Need to remember params cause they're gonna get reset.	#	title=$1	choices=$2	default=$3	current=	#	# Find out if one of the choices is already set.	# If it's not then make it the default.	#	set -- $choices	firstchoice=$2	while [ -n "$2" ]	do		if eval [ "_\$$2" = "_y" ]		then			current=$1			break		fi		shift ; shift	done	: ${current:=$default}	echo -ne "'$firstchoice' '($current) $title' " >>MCmenu	echo -e "	function $firstchoice () \		{ l_choice '$title' \"$choices\" $current ;}" >>MCradiolists}} # END load_functions()## Extract available help for an option from Configure.help# and send it to standard output.## Most of this function was borrowed from the original kernel# Configure script.#function extract_help () {  if [ -f ${HELP_FILE} ]  then     #first escape regexp special characters in the argument:     var=$(echo "$1"|sed 's/[][\/.^$*]/\\&/g')     #now pick out the right help text:     text=$(sed -n "/^$var[ 	]*\$/,\${                        /^$var[ 	]*\$/c\\${var}:\\                        /^#/b                        /^[^ 	]/q                        s/^  //                        p                    }" ${HELP_FILE})     if [ -z "$text" ]     then          echo "There is no help available for this kernel option."	  return 1     else	  echo "$text"     fi  else	 echo "There is no help available for this kernel option."         return 1  fi}## Activate a help dialog.#function help () {	if extract_help $1 >help.out	then		$DIALOG	--backtitle "$backtitle" --title "$2"\			--textbox help.out $ROWS $COLS	else		$DIALOG	--backtitle "$backtitle" \			--textbox help.out $ROWS $COLS	fi	rm -f help.out}## Show the README file.#function show_readme () {	$DIALOG --backtitle "$backtitle" \		--textbox scripts/README.Menuconfig $ROWS $COLS}## Begin building the dialog menu command and Initialize the # Radiolist function file.#function menu_name () {	echo -ne "$DIALOG --title '$1'\			--backtitle '$backtitle' \			--menu '$menu_instructions' \			$ROWS $COLS $((ROWS-10)) \			'$default' " >MCmenu	>MCradiolists}## Add a submenu option to the menu currently under construction.#function submenu () {	echo -ne "'activate_menu $2' '$1  --->' " >>MCmenu}## Handle a boolean (Yes/No) option.#function l_bool () {	if [ -n "$2" ]	then		case "$2" in		y|m)	eval $1=y ;;		c)	eval x=\$$1		   	case $x in		   	y) eval $1=n ;;		   	n) eval $1=y ;;			*) eval $1=y ;;		   	esac ;;		*)	eval $1=n ;;		esac	else		echo -ne "\007"	fi}## Same as bool() except options are (Module/No)#function mod_bool () {	if [ "$CONFIG_MODULES" != "y" ]; then	    define_bool "$2" "n"	else	    set_x_info "$2" "n" 	    case $x in	    y|m) flag='M' ;;	    *)   flag=' ' ;;	    esac 	    echo -ne "'$2' '<$flag> $1$info' " >>MCmenu 	    echo -e "function $2 () { l_mod_bool '$2' \"\$1\" ;}" >>MCradiolists	fi}## Same as l_bool() except options are (Module/No)#function l_mod_bool() {	if [ -n "$2" ]	then		case "$2" in		y)	echo -en "\007"			${DIALOG} --backtitle "$backtitle" \				  --infobox "\This feature depends on another which has been configured as a module.  \As a result, this feature will be built as a module." 4 70			sleep 5			eval $1=m ;;		m)	eval $1=m ;;		c)	eval x=\$$1			case $x in			m) eval $1=n ;;			n) eval $1=m ;;			*) eval $1=m ;;			esac ;;		*)	eval $1=n ;;		esac	else		echo -ne "\007"	fi}## Handle a tristate (Yes/No/Module) option.#function l_tristate () {	if [ -n "$2" ]	then		eval x=\$$1		case "$2" in		y) eval $1=y ;;		m) eval $1=m ;;		c) eval x=\$$1		   case $x in		   y) eval $1=n ;;		   n) eval $1=m ;;		   m) eval $1=y ;;		   *) eval $1=y ;;		   esac ;;		*) eval $1=n ;;		esac	else		echo -ne "\007"	fi}## Create a dialog for entering an integer into a kernel option.#function l_int () {	while true	do		if $DIALOG --title "$1" \			--backtitle "$backtitle" \			--inputbox "$inputbox_instructions_int" \			10 75 "$4" 2>MCdialog.out		then			answer="`cat MCdialog.out`"			answer="${answer:-$3}"			# Semantics of + and ? in GNU expr changed, so			# we avoid them:			if expr "$answer" : '0$' '|' "$answer" : '[1-9][0-9]*$' '|' "$answer" : '-[1-9][0-9]*$' >/dev/null			then				eval $2="$answer"			else				eval $2="$3"				echo -en "\007"				${DIALOG} --backtitle "$backtitle" \					--infobox "You have made an invalid entry." 3 43				sleep 2			fi			break		fi		help "$2" "$1"	done}## Create a dialog for entering a hexadecimal into a kernel option.#function l_hex () {	while true	do		if $DIALOG --title "$1" \			--backtitle "$backtitle" \			--inputbox "$inputbox_instructions_hex" \			10 75 "$4" 2>MCdialog.out		then			answer="`cat MCdialog.out`"			answer="${answer:-$3}"			answer="${answer##*[x,X]}"			if expr "$answer" : '[0-9a-fA-F][0-9a-fA-F]*$' >/dev/null			then				eval $2="$answer"			else				eval $2="$3"				echo -en "\007"				${DIALOG} --backtitle "$backtitle" \					--infobox "You have made an invalid entry." 3 43				sleep 2			fi			break		fi		help "$2" "$1"	done}## Create a dialog for entering a string into a kernel option.#function l_string () {	while true	do		if $DIALOG --title "$1" \			--backtitle "$backtitle" \			--inputbox "$inputbox_instructions_string" \			10 75 "$4" 2>MCdialog.out		then			answer="`cat MCdialog.out`"			answer="${answer:-$3}"			#			# Someone may add a nice check for the entered			# string here...			#			eval $2=\"$answer\"			break		fi		help "$2" "$1"	done}## Handle a one-of-many choice list.#function l_choice () {	#	# Need to remember params cause they're gonna get reset.	#	title="$1"	choices="$2"	current="$3"        chosen=	#	# Scan current value of choices and set radiolist switches.	#	list=	set -- $choices	firstchoice=$2	while [ -n "$2" ]	do		case "$1" in		"$current"*)	if [ -z "$chosen" ]; then					list="$list $2 $1 ON "					chosen=1				else					list="$list $2 $1 OFF "				fi  ;;		*)		list="$list $2 $1 OFF " ;;		esac					shift ; shift	done	while true	do		if $DIALOG --title "$title" \			--backtitle "$backtitle" \			--radiolist "$radiolist_instructions" \			15 70 6 $list 2>MCdialog.out		then			choice=`cat MCdialog.out`			break		fi		help "$firstchoice" "$title"	done	#	# Now set the boolean value of each option based on	# the selection made from the radiolist.	#	set -- $choices	while [ -n "$2" ]	do		if [ "$2" = "$choice" ]		then			eval $2="y"		else			eval $2="n"		fi				shift ; shift	done}## Call awk, and watch for error codes, etc.#function callawk () {awk "$1" || echo "Awk died with error code $?. Giving up." || exit 1}## A faster awk based recursive parser. (I hope)#function parser1 () {callawk 'BEGIN {	menu_no = 0	comment_is_option = 0	parser("'$CONFIG_IN'","MCmenu0")}function parser(ifile,menu) {	while (getline <ifile) {		if ($1 == "mainmenu_option") {			comment_is_option = "1"		}		else if ($1 == "comment" && comment_is_option == "1") {			comment_is_option= "0"			sub($1,"",$0)			++menu_no			printf("submenu %s MCmenu%s\n", $0, menu_no) >>menu			newmenu = sprintf("MCmenu%d", menu_no);			printf( "function MCmenu%s () {\n"\				"default=$1\n"\				"menu_name %s\n",\				 menu_no, $0) >newmenu			parser(ifile, newmenu)		}		else if ($0 ~ /^#|\$MAKE|mainmenu_name/) {			printf("") >>menu		}		else if ($1 ~ "endmenu") {			printf("}\n") >>menu			return		} 		else if ($1 == "source") {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇一区二区| 亚洲色图制服丝袜| 国产精品久久777777| 五月婷婷激情综合| 高清不卡一区二区在线| 国产精品丝袜久久久久久app| 中文字幕在线不卡一区二区三区| 国产欧美在线观看一区| 久久不见久久见免费视频1| 欧美第一区第二区| 91福利国产精品| 亚洲香肠在线观看| 日韩亚洲欧美高清| 国产一区二区在线免费观看| 国产亚洲精品资源在线26u| 成人黄色大片在线观看| 亚洲成人动漫av| 精品国产伦一区二区三区观看方式 | 一区二区三区中文字幕| 欧美日韩三级视频| 国产一区二区三区美女| 17c精品麻豆一区二区免费| 欧美精选一区二区| 成人在线视频一区二区| 午夜国产精品一区| 久久午夜羞羞影院免费观看| 92精品国产成人观看免费| 亚洲国产日韩在线一区模特| 日韩女同互慰一区二区| 色综合久久综合网97色综合| 欧美a一区二区| 亚洲桃色在线一区| 91精品国产综合久久久久久漫画| 国产一区二区三区日韩| 亚洲香蕉伊在人在线观| 久久久久久一二三区| 欧美日韩一二三区| 成人h动漫精品| 青青草国产成人av片免费| 中文字幕一区二区在线观看| 亚洲欧美日韩人成在线播放| 精品欧美一区二区久久| 欧洲色大大久久| 国产河南妇女毛片精品久久久| 亚洲电影你懂得| 中文字幕精品综合| 精品国内二区三区| 在线视频一区二区三| 国产成人精品www牛牛影视| 午夜精品成人在线视频| 国产精品国产三级国产普通话蜜臀| 日韩三区在线观看| 欧美性生活一区| www.欧美.com| 国产一区在线视频| 日韩精品福利网| 亚洲一区免费在线观看| 国产精品久久久一本精品| 精品久久国产老人久久综合| 在线观看亚洲a| k8久久久一区二区三区| 国产成人亚洲综合色影视| 日韩电影免费在线看| 亚洲国产综合色| 亚洲三级免费电影| 国产精品久久久久影院亚瑟| 久久综合狠狠综合久久综合88| 91精品国产综合久久婷婷香蕉 | 成人动漫中文字幕| 国产一区999| 紧缚捆绑精品一区二区| 久久精品国产**网站演员| 蜜桃视频在线观看一区二区| 日韩高清一区二区| 国产伦精一区二区三区| 国产精品一区二区久久精品爱涩| 日本不卡的三区四区五区| 日本欧美在线观看| 视频精品一区二区| 日韩av中文字幕一区二区 | 青椒成人免费视频| 视频在线观看国产精品| 三级不卡在线观看| 日本不卡视频在线| 麻豆91在线播放免费| 黑人精品欧美一区二区蜜桃 | 久久久不卡影院| 久久免费视频一区| 国产精品嫩草影院av蜜臀| 国产精品免费视频观看| 亚洲卡通动漫在线| 午夜精品福利视频网站| 蜜臀av一区二区| 国产电影精品久久禁18| av一二三不卡影片| 91美女视频网站| 欧美高清视频在线高清观看mv色露露十八 | 精品一二线国产| 国产一区二区视频在线| av不卡免费在线观看| 在线影院国内精品| 欧美一区二区三区白人| 久久免费午夜影院| 综合久久久久久久| 日韩黄色在线观看| 国产精品一区在线观看乱码 | 欧美日韩电影在线播放| 精品久久久久一区二区国产| 国产午夜精品理论片a级大结局 | 国产亚洲人成网站| 亚洲男人的天堂av| 另类人妖一区二区av| 成人性色生活片免费看爆迷你毛片| 91小视频免费看| 欧美一级免费观看| ...中文天堂在线一区| 亚洲国产一区二区在线播放| 另类欧美日韩国产在线| 91免费国产在线| 欧美mv和日韩mv国产网站| 国产精品久久夜| 免费久久精品视频| caoporn国产一区二区| 日韩一区二区三区在线观看| 国产精品热久久久久夜色精品三区 | 亚洲成人福利片| 大胆亚洲人体视频| 欧美一区二区日韩一区二区| 亚洲视频一二三区| 黄色成人免费在线| 欧美午夜宅男影院| 国产精品福利一区| 蜜桃视频一区二区三区| 91九色02白丝porn| 国产日韩欧美不卡| 久久精品噜噜噜成人av农村| 在线视频国内自拍亚洲视频| 国产欧美日韩激情| 捆绑调教一区二区三区| 精品久久一区二区| 午夜精品久久一牛影视| 91免费国产在线| 国产精品久久久久久久久免费相片| 免费观看一级特黄欧美大片| 在线亚洲精品福利网址导航| 国产精品久久久爽爽爽麻豆色哟哟| 久久超碰97中文字幕| 欧美精选午夜久久久乱码6080| 中文字幕日本不卡| 国产不卡视频在线播放| 精品久久99ma| 麻豆一区二区在线| 欧美日产在线观看| 亚洲sss视频在线视频| 一本一道久久a久久精品| 国产欧美一区二区精品忘忧草| 玖玖九九国产精品| 日韩欧美中文字幕制服| 日本在线播放一区二区三区| 欧美视频在线观看一区二区| 一区二区三区在线视频观看58| av在线不卡观看免费观看| 国产欧美日韩综合精品一区二区| 国内精品伊人久久久久av一坑| 日韩欧美高清dvd碟片| 日韩av一二三| 51精品视频一区二区三区| 香蕉av福利精品导航| 欧美精品777| 日本aⅴ免费视频一区二区三区| 欧美一区二区三区在线看| 午夜亚洲福利老司机| 777亚洲妇女| 久久国内精品视频| 精品99999| 国产精品夜夜嗨| 国产精品每日更新在线播放网址| 成人国产一区二区三区精品| 成人欧美一区二区三区在线播放| 成人99免费视频| 亚洲三级在线看| 欧美日韩亚州综合| 日韩电影免费在线看| 日韩欧美一级二级三级久久久| 老司机精品视频导航| 日本一区二区不卡视频| 99视频国产精品| 亚洲国产成人91porn| 日韩美女天天操| 99久久99久久久精品齐齐 | 亚洲成a人v欧美综合天堂下载| 91精品久久久久久久久99蜜臂| 九一九一国产精品| 国产亚洲成年网址在线观看| 色综合久久久久久久久| 三级久久三级久久| 日本一区二区视频在线| 欧美在线观看视频在线| 久久99精品国产麻豆婷婷| 中文字幕中文字幕一区|