#!/bin/bash # is debug? debug=n verbose= #debug=y #verbose=-v # prefix if [[ "$PATH" =~ "/usr/local/bin" ]]; then prefix=/usr/local else prefix=/usr fi if [ $1 ]; then prefix=$1 fi echo installing to $prefix ... # probe plat uname=`uname` if [ $uname = "MSVC" ]; then plat=msvc elif [ $uname = "Darwin" ] || [ `uname | egrep -i darwin` ]; then plat=mac elif [ $uname = "Linux" ] || [ `uname | egrep -i linux` ]; then plat=linux elif [ `uname | egrep -i msys` ]; then plat=msvc elif [ `uname | egrep -i cygwin` ]; then plat=msvc else plat=linux fi echo plat: $plat # probe arch arch=x86 if [ $plat = "linux" ] || [ $plat = "mac" ]; then if [ `getconf LONG_BIT` = "64" ]; then arch=x64 fi fi echo arch: $arch # compile xmake-core echo compiling xmake-core ... cd ./core if [ -f .config.mak ]; then rm .config.mak fi make f DEBUG=$debug if [ $? -ne 0 ]; then exit; fi make c make if [ $? -ne 0 ]; then make o exit; fi make i cd .. # create the xmake install directory xmake_dir_install=$prefix/share/xmake if [ -d $xmake_dir_install ]; then rm -rf $xmake_dir_install fi if [ ! -d $xmake_dir_install ]; then mkdir -p $xmake_dir_install fi if [ $? -ne 0 ]; then echo "create $xmake_dir_install failed!" exit; fi # install the xmake core file xmake_core=./core/bin/demo.pkg/bin/$plat/$arch/demo.b xmake_core_install=$xmake_dir_install/xmake cp $xmake_core $xmake_core_install chmod 777 $xmake_core_install if [ $? -ne 0 ]; then echo "install xmake core failed!" exit; fi # install the xmake directory cp -r ./xmake/* $xmake_dir_install/ if [ $? -ne 0 ]; then echo "install xmake directory failed!" exit; fi # make the xmake loader xmake_loader=/tmp/xmake_loader echo "#!/bin/bash" > $xmake_loader echo "export XMAKE_PROGRAM_DIR=$xmake_dir_install" >> $xmake_loader echo "$xmake_core_install $verbose \"\$@\"" >> $xmake_loader if [ $? -ne 0 ]; then echo "make xmake loader failed!" exit; fi # install the xmake loader xmake_loader_install=$prefix/bin/xmake if [ ! -d $prefix/bin ]; then mkdir -p $prefix/bin fi mv $xmake_loader $xmake_loader_install chmod 777 $xmake_loader_install if [ $? -ne 0 ]; then echo "install xmake loader failed!" exit; fi # tip if [[ ! "$PATH" =~ "$prefix/bin" ]]; then echo 'please export PATH=$PATH:'"$prefix/bin" fi # ok echo ok!