OSDN Git Service

Merge "Minor changes to telephony error codes in types.hal" am: 044e84cc8a
[android-x86/hardware-interfaces.git] / update-makefiles.sh
1 #!/bin/bash
2
3 if [ ! -d hardware/interfaces ] ; then
4   echo "Where is hardware/interfaces?";
5   exit 1;
6 fi
7
8 if [ ! -d system/libhidl/transport ] ; then
9   echo "Where is system/libhidl/transport?";
10   exit 1;
11 fi
12
13 packages=$(pushd hardware/interfaces > /dev/null; \
14            find . -type f -name \*.hal -exec dirname {} \; | sort -u | \
15            cut -c3- | \
16            awk -F'/' \
17                 '{printf("android.hardware"); for(i=1;i<NF;i++){printf(".%s", $i);}; printf("@%s\n", $NF);}'; \
18            popd > /dev/null)
19
20 for p in $packages; do
21   echo "Updating $p";
22   hidl-gen -Lmakefile -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport $p;
23   rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
24   hidl-gen -Landroidbp -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport $p;
25   rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
26 done
27
28 # subdirectories of hardware/interfaces which contain an Android.bp file
29 android_dirs=$(find hardware/interfaces/*/     \
30               -name "Android.bp"               \
31               -printf "%h\n"                   \
32               | cut -d "/" -f1-3               \
33               | sort | uniq)
34
35 echo "Updating Android.bp files."
36
37 for bp_dir in $android_dirs; do
38   bp="$bp_dir/Android.bp"
39   # locations of Android.bp files in specific subdirectory of hardware/interfaces
40   android_bps=$(find $bp_dir                   \
41                 -name "Android.bp"             \
42                 ! -path $bp_dir/Android.bp     \
43                 -printf "%h\n"                 \
44                 | sort)
45
46   echo "// This is an autogenerated file, do not edit." > "$bp";
47   echo "subdirs = [" >> "$bp";
48   for a in $android_bps; do
49     echo "    \"${a#$bp_dir/}\"," >> "$bp";
50   done
51   echo "]" >> "$bp";
52 done