| #!/bin/bash |
| # |
| # Copyright 2015 Google Inc. All rights reserved |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # A wrapper for kati which generates build.ninja mainly for Android. |
| # |
| |
| set -e |
| |
| kati_dir=$(cd $(dirname $0) && pwd) |
| extra_flags= |
| goma_flag= |
| |
| while [ x"$1" != x"" ]; do |
| case "$1" in |
| --help) |
| cat - <<EOF |
| Usage: |
| m2n # for full-build |
| m2n --goma # use goma. \$HOME/goma must exist |
| m2n bionic # works like mmm |
| EOF |
| exit 1 |
| ;; |
| |
| --goma) |
| if [ ! -e $HOME/goma/goma_ctl.py ]; then |
| echo "$HOME/goma/goma_ctl.py should exist to use goma" |
| exit 1 |
| fi |
| $HOME/goma/goma_ctl.py ensure_start |
| goma_flag=--goma_dir=$HOME/goma |
| shift |
| ;; |
| |
| --*) |
| extra_flags+=" $1" |
| shift |
| ;; |
| |
| *) |
| target=$1 |
| shift |
| ;; |
| esac |
| done |
| |
| kati=${kati_dir}/kati |
| |
| if [ x"${target}" != x"" ]; then |
| export ONE_SHOT_MAKEFILE=${target}/Android.mk |
| echo ONE_SHOT_MAKEFILE=${ONE_SHOT_MAKEFILE} |
| fi |
| |
| ${kati} --ninja --ignore_optional_include=out/%.P ${goma_flag} ${extra_flags} |
| |
| echo ninja.sh and build.ninja were generated, please run ./ninja.sh |