?? mkconfig
字號:
#!/bin/sh# This script is used to make the config file: skyeye.conf .MNU_CONFIG=.configFEATURE_IN=configs/feature.inCONFIG_MNU=skyeye.confprefix=/usr/localCC=gccTARGET=i386-linuxHOST=i386-linuxCFLAGS=LDFLAGS=CONFIGURE_HELP=.config_help#if [ ! -f configure ]; then# echo "configure not exist, execute autogen to make it"# ./autogen.sh#fi#./configure --help > $CONFIGURE_HELP#echo "#!/bin/sh" > $CONFIG_MNU#echo "# Automatically generated by make menuconfig." >> $CONFIG_MNU#echo >> $CONFIG_MNU#echo "rm config.cache config.status -f" >> $CONFIG_MNU#echo >> $CONFIG_MNUSAVEIFS=$IFSIFS==function check_def_yes () { if grep "$1" $CONFIGURE_HELP | grep "<default=yes>" > /dev/null; then return 0 else return -1 fi}function check_def_no () { if grep "$1" $CONFIGURE_HELP | grep "<default=no>" > /dev/null; then return 0 else return -1 fi}function check_exist () { if grep "$1" $MNU_CONFIG > /dev/null; then return 0 else return -1 fi}function check_value () {if [ -s $MNU_CONFIG ]; then while read var_config value do if [ "$var_config" = "$1" ]; then if [ "$value" = "y" ]; then return 0 else return -1 fi fi done < $MNU_CONFIG return -1fi}function get_value () {if [ -s $2 ]; then while read var_config nowvalue do if [ "$var_config" = "$1" ]; then return 0 fi done < $2 return -1fi}function get_mnu_value () { if get_value $1 $MNU_CONFIG; then return 0 else return -1 fi}if get_mnu_value "PREFIX"; then echo "" prefix=$nowvalue echo "install prefix = $prefix"fiif get_mnu_value "CC"; then CC=$nowvalue echo "compiler = $CC"fiif get_mnu_value "TARGET"; then TARGET=$nowvalue echo "target = $TARGET"fiif get_mnu_value "HOST"; then HOST=$nowvalue echo "host = $HOST"fi# set CFLAGS and LDFLAGS for uClinux# -----------------------------------------------------------------if check_value "CONFIG_PLATFORM_UCLINUX"; then CFLAGS="-Os -D__uClinux__ -fno-builtin"if get_mnu_value "UC_KERNEL_HEADER"; then CFLAGS="$CFLAGS -I$nowvalue"fiif get_mnu_value "UCLIBC_HEADER"; then CFLAGS="$CFLAGS -I$nowvalue -I$nowvalue/../"fi LDFLAGS="-Wl,-elf2flt -Wl,-move-rodata"if get_mnu_value "UCLIBC_LIB"; then LDFLAGS="$LDFLAGS -L$nowvalue -L$nowvalue/../"fiif check_value "CONFIG_COMPILER_M68K_ELF"; thenif check_value "CONFIG_TARGET_M68K_XCOPILOT"; then CFLAGS="$CFLAGS -m68000 -mid-shared-library -mshared-library-id=0" LDFLAGS="$LDFLAGS -Wl,-shared-lib-id,0"fiif check_value "CONFIG_TARGET_M68K_68EZ328"; then CFLAGS="$CFLAGS -m68000 -mid-shared-library -mshared-library-id=0" LDFLAGS="$LDFLAGS -Wl,-shared-lib-id,0"fiif check_value "CONFIG_TARGET_M68K_CF5200"; then CFLAGS="$CFLAGS -m5200 -Wa,-S -Wa,-m5200 -msep-data"fiif check_value "CONFIG_TARGET_M68K_CF5307"; then CFLAGS="$CFLAGS -m5307 -Wa,-S -Wa,-m5307 -msep-data"fiif get_mnu_value "UCLIBC_LIB"; then LDFLAGS="$LDFLAGS -Wl,-R,$nowvalue/../libc.gdb"fifiif check_value "CONFIG_COMPILER_ARM_ELF"; then CFLAGS="$CFLAGS -D__PIC__ -fpic -msingle-pic-base"fi LDFLAGS="$LDFLAGS -lc" echo "CFLAGS = $CFLAGS" echo "LDFLAGS = $LDFLAGS"fi# uClinux ----------------------------------------------------------- echo "CC=$CC \\" >> $CONFIG_MNU echo "CFLAGS=\"$CFLAGS\" \\" >> $CONFIG_MNU echo "LDFLAGS=\"$LDFLAGS\" \\" >> $CONFIG_MNU echo "./configure \\" >> $CONFIG_MNU echo " --prefix=$prefix \\" >> $CONFIG_MNU echo " --target=$TARGET \\" >> $CONFIG_MNU echo " --host=$HOST \\" >> $CONFIG_MNUif check_value "CONFIG_NO_SHARE"; then echo " --disable-shared \\" >> $CONFIG_MNUfiif [ -s $FEATURE_IN ]; then while read var_config feature do if [ "$feature" != "" ]; then if check_exist $var_config; then if check_value $var_config; then if check_def_no $feature; then echo " --enable-$feature \\" >> $CONFIG_MNU fi else if check_def_yes $feature; then echo " --disable-$feature \\" >> $CONFIG_MNU fi fi fi fi done < $FEATURE_INfiecho " --build=i386-linux" >> $CONFIG_MNU #rm $CONFIGURE_HELPchmod +x $CONFIG_MNUIFS=$SAVEIFS
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -