Iliyan Malchev | 7fd352e | 2016-08-10 08:02:31 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | if [ ! -d hardware/interfaces ] ; then |
| 4 | echo "Where is hardware/interfaces?"; |
| 5 | exit 1; |
| 6 | fi |
| 7 | |
Steven Moreland | 13b5d80 | 2016-12-12 09:24:10 -0800 | [diff] [blame] | 8 | if [ ! -d system/libhidl/transport ] ; then |
| 9 | echo "Where is system/libhidl/transport?"; |
| 10 | exit 1; |
| 11 | fi |
| 12 | |
Iliyan Malchev | 7fd352e | 2016-08-10 08:02:31 -0700 | [diff] [blame] | 13 | packages=$(pushd hardware/interfaces > /dev/null; \ |
Iliyan Malchev | 15e1558 | 2016-09-17 18:42:46 -0700 | [diff] [blame] | 14 | find . -type f -name \*.hal -exec dirname {} \; | sort -u | \ |
Iliyan Malchev | 7fd352e | 2016-08-10 08:02:31 -0700 | [diff] [blame] | 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"; |
Yifan Hong | e19e582 | 2016-11-28 16:09:37 -0800 | [diff] [blame] | 22 | hidl-gen -Lmakefile -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport $p; |
| 23 | hidl-gen -Landroidbp -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport $p; |
Iliyan Malchev | 7fd352e | 2016-08-10 08:02:31 -0700 | [diff] [blame] | 24 | done |
Steven Moreland | 7b66dd9 | 2016-10-03 13:53:07 -0700 | [diff] [blame] | 25 | |
Steven Moreland | 7a4f118 | 2016-10-25 15:45:19 -0700 | [diff] [blame] | 26 | # subdirectories of hardware/interfaces which contain an Android.bp file |
| 27 | android_dirs=$(find hardware/interfaces/*/ \ |
| 28 | -name "Android.bp" \ |
| 29 | -printf "%h\n" \ |
| 30 | | cut -d "/" -f1-3 \ |
| 31 | | sort | uniq) |
Steven Moreland | 7b66dd9 | 2016-10-03 13:53:07 -0700 | [diff] [blame] | 32 | |
Steven Moreland | 7a4f118 | 2016-10-25 15:45:19 -0700 | [diff] [blame] | 33 | echo "Updating Android.bp files." |
Steven Moreland | 7b66dd9 | 2016-10-03 13:53:07 -0700 | [diff] [blame] | 34 | |
Steven Moreland | 7a4f118 | 2016-10-25 15:45:19 -0700 | [diff] [blame] | 35 | for bp_dir in $android_dirs; do |
| 36 | bp="$bp_dir/Android.bp" |
| 37 | # locations of Android.bp files in specific subdirectory of hardware/interfaces |
| 38 | android_bps=$(find $bp_dir \ |
| 39 | -name "Android.bp" \ |
| 40 | ! -path $bp_dir/Android.bp \ |
| 41 | -printf "%h\n" \ |
| 42 | | sort) |
| 43 | |
| 44 | echo "// This is an autogenerated file, do not edit." > "$bp"; |
| 45 | echo "subdirs = [" >> "$bp"; |
| 46 | for a in $android_bps; do |
| 47 | echo " \"${a#$bp_dir/}\"," >> "$bp"; |
| 48 | done |
| 49 | echo "]" >> "$bp"; |
Steven Moreland | 7b66dd9 | 2016-10-03 13:53:07 -0700 | [diff] [blame] | 50 | done |