1#!/bin/sh
2# Copyright 2011, ASUSTek Inc.
3# All Rights Reserved.                
4#                                     
5# This is UNPUBLISHED PROPRIETARY SOURCE CODE of ASUSTek Inc.;   
6# the contents of this file may not be disclosed to third parties, copied
7# or duplicated in any form, in whole or in part, without the prior      
8# written permission of ASUSTek Inc..                            
9#
10
11Usage() {
12	echo "model_patch TARGET_DIR PATCHLET_DIR"
13	exit 1
14}
15
16do_patch() {
17 local DIR_DST=$1
18 local DIR_SRC=$2
19 local DEPTH=$3
20 local FNAME
21 local BNAME
22
23# declare -i DEPTH
24
25 cd $DIR_DST
26 for FNAME in $DIR_SRC/* ; do
27  if [ -f $FNAME ]; then
28   echo "patch -p${DEPTH} < $FNAME"
29   patch -p${DEPTH} < $FNAME
30  fi
31 done
32 DEPTH=$[DEPTH +1];
33 for FNAME in $DIR_SRC/* ; do
34  if [ -d $FNAME ]; then
35   BNAME=`basename $FNAME`
36   do_patch $DIR_DST/$BNAME $DIR_SRC/$BNAME $DEPTH
37  fi
38 done
39}
40
41
42if [ "${1}X" = "X" -o "${2}X" = "X" ]; then
43	Usage
44fi
45
46TARGET_DIR=${1}
47PATCH_DIR=${2}
48PWD=`pwd`
49echo ${TARGET_DIR} | grep '^/' > /dev/null
50if [ "$?" = "1" ]; then
51TARGET_DIR=${PWD}/${1}
52fi
53echo ${PATCH_DIR} | grep '^/' > /dev/null
54if [ "$?" = "1" ]; then
55PATCH_DIR=${PWD}/${2}
56fi
57
58if [ ! -d $TARGET_DIR -o ! -d $PATCH_DIR ]; then
59	Usage
60fi
61
62do_patch $TARGET_DIR $PATCH_DIR 1
63cd $PWD
64exit 0
65