#! /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 "$@"