diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:32 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:32 -0800 |
commit | 8b23a6c7e1aee255004dd19098d4c2462b61b849 (patch) | |
tree | 7a4d682ba51f0ff0364c5ca2509f515bdaf96de9 /android/build/mkdeps.sh | |
parent | f721e3ac031f892af46f255a47d7f54a91317b30 (diff) | |
download | external_qemu-8b23a6c7e1aee255004dd19098d4c2462b61b849.zip external_qemu-8b23a6c7e1aee255004dd19098d4c2462b61b849.tar.gz external_qemu-8b23a6c7e1aee255004dd19098d4c2462b61b849.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'android/build/mkdeps.sh')
-rwxr-xr-x | android/build/mkdeps.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/android/build/mkdeps.sh b/android/build/mkdeps.sh new file mode 100755 index 0000000..abecec7 --- /dev/null +++ b/android/build/mkdeps.sh @@ -0,0 +1,51 @@ +#!/bin/sh +# +# Copyright (C) 2008 The Android Open Source Project +# +# 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. +# +# This script is used to transform the dependency files generated by GCC +# For example, a typical .d file will have a line like: +# +# source.o: /full/path/to/source.c other.h headers.h +# ... +# +# the script is used to replace 'source.o' to a full path, as in +# +# objs/intermediates/emulator/source.o: /full/path/to/source.c other.h headers.h +# +# parameters +# +# $1: object file (full path) +# $2: source dependency file to modify (erased on success) +# $3: target source dependency file +# + +# quote the object path. we change a single '.' into +# a '\.' since this will be parsed by sed. +# +OBJECT=`echo $1 | sed -e s/\\\\./\\\\\\\\./g` +#echo OBJECT=$OBJECT + +OBJ_NAME=`basename $OBJECT` +#echo OBJ_NAME=$OBJ_NAME + +# we replace $OBJ_NAME with $OBJECT only if $OBJ_NAME starts the line +# that's because some versions of GCC (e.g. 4.2.3) already produce +# a correct dependency line with the full path to the object file. +# In this case, we don't want to touch anything +# +cat $2 | sed -e s%^$OBJ_NAME%$OBJECT%g > $3 && rm -f $2 + + + |