#! /bin/bash 
 | 
  
 | 
version="0.2" 
 | 
  
 | 
host_platform=`uname | awk -F[_0-9] '{print tolower($1)}'` 
 | 
  
 | 
if [[ $host_platform == "darwin" ]]; then 
 | 
    aimake_home=`readlink $0 | sed 's/\/[^\/]*$//'` 
 | 
    if [[ -z $aimake_home ]]; then 
 | 
        aimake_home=`echo $0 | sed 's/\/[^\/]*$//'` 
 | 
    fi 
 | 
else 
 | 
    aimake_home=`readlink -f $0 | sed 's/\/[^\/]*$//'`; 
 | 
fi;  
 | 
  
 | 
supported_platforms=`ls -l $aimake_home | awk '/^d/{printf("%s%s", sp, $NF); sp=" ";}'` 
 | 
  
 | 
aimakefile="aimakefile" 
 | 
target_platform=$host_platform 
 | 
timestamp=`date +20%y%m%d%H%M%S` 
 | 
jobs=1 
 | 
  
 | 
while getopts "j:t:f:h" opt; do 
 | 
    case $opt in 
 | 
        j) jobs=$OPTARG;; 
 | 
        f) aimakefile=$OPTARG;; 
 | 
        t) target_platform=$OPTARG;; 
 | 
        h|?) echo "usage: aimake [options] [target]"; echo "" 
 | 
             echo "options:" 
 | 
             echo "    -h show this help message and exit" 
 | 
             echo "    -j number of jobs to run simultaneously" 
 | 
             echo "    -t target platform, support '$supported_platforms', the default is '$host_platform'" 
 | 
             echo "    -f aimakefile, the default is 'aimakefile'" 
 | 
    esac 
 | 
done 
 | 
  
 | 
if ! [[ -d $aimake_home/$target_platform ]]; then 
 | 
    echo "unsupported target platform '"$target_platform"'" 
 | 
    exit 1 
 | 
fi 
 | 
  
 | 
if ! [[ -f $aimakefile ]]; then 
 | 
    echo "'$aimakefile' does not exist" 
 | 
    exit 1 
 | 
fi 
 | 
  
 | 
shift $((OPTIND-1)) 
 | 
  
 | 
make -j $jobs -f $aimake_home/main.mk LOCAL_PATH=`pwd` TIMESTAMP=$timestamp TARGET_PLATFORM=$target_platform AIMAKE_VERSION=$version AIMAKE_HOME=$aimake_home AIMAKEFILE=$aimakefile "$@" 
 |