Решил вот под свою машину нарисовать скриптик сборки-установки софта...
Вот что вчера набросал:
#!/bin/bash
function run_cmd_execute()
{
echo "\\033[0;35m $5 startup \\033[0;39m"
echo "\\033[0;34m $1 $2 $3 \\033[0;39m "
`$1 $2 $3 > run.$4.log 1>&2`
echo "\\033[0;32m $5 done \\033[0;39m"
}
function run_execute()
{
run_cmd_execute "" "$1" "$2" "$1$2" "$3"
}
function run_configure()
{
CFLAGS="-march=pentium3 -mfpmath=387,sse -malign-double"
CXXFLAGS="-march=pentium3 -mfpmath=sse,387 -malign-double"
echo "\\033[0;35m Configuration startup \\033[0;39m"
echo "gcc flags:\\033[0;32m $CFLAGS \\033[0;39m"
echo "g++ flags:\\033[0;32m $CXXFLAGS \\033[0;39m"
`CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" ./configure $1 > run.configure.log 1>&2`
echo "\\033[0;32m Configuration done \\033[0;39m"
}
clear
echo "\\033[0;35m Startup \\033[0;39m"
run_execute "make" "distclean" "Dist. clean"
run_configure ""
run_execute "make" "clean" "Oldmake clean"
run_execute "make" "" "Make"
run_execute "make" "check" "Checking"
run_execute "make" "install" "Install"
echo "\\033[0;32m All done \\033[0;39m"
И появились вопросы....
1. Как объяснить сырцам которые без configure что мне надо собрать из с вот такими то флагами компилятора?
2. Как разбирать параметры коммандной строки? Хотелось бы уметь понимать как --cmd так и --cmd=param параметры...
3. Можно ли как-нибудь выделять цветом слова типа warning/error, найденые в потоке вывода работы того что я запускаю?
4. Можно ли определить какие компиляторы установлены? (у меня например на машине и gcc 4 и gcc 3.2)
4. Где можно почитать про комманды компиляторам желательно на русском? (в мане уже копался, много непонятного.)
5. И опятьже где можно прочитать про программирование в shell? man довольно расплывчатый и без примеров...