#!/bin/bash if [ ! -d hardware/interfaces ] ; then echo "Where is hardware/interfaces?"; exit 1; fi if [ ! -d system/libhidl/transport ] ; then echo "Where is system/libhidl/transport?"; exit 1; fi packages=$(pushd hardware/interfaces > /dev/null; \ find . -type f -name \*.hal -exec dirname {} \; | sort -u | \ cut -c3- | \ awk -F'/' \ '{printf("android.hardware"); for(i=1;i /dev/null) for p in $packages; do echo "Updating $p"; hidl-gen -Lmakefile -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport $p; hidl-gen -Landroidbp -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport $p; done # subdirectories of hardware/interfaces which contain an Android.bp file android_dirs=$(find hardware/interfaces/*/ \ -name "Android.bp" \ -printf "%h\n" \ | cut -d "/" -f1-3 \ | sort | uniq) echo "Updating Android.bp files." for bp_dir in $android_dirs; do bp="$bp_dir/Android.bp" # locations of Android.bp files in specific subdirectory of hardware/interfaces android_bps=$(find $bp_dir \ -name "Android.bp" \ ! -path $bp_dir/Android.bp \ -printf "%h\n" \ | sort) echo "// This is an autogenerated file, do not edit." > "$bp"; echo "subdirs = [" >> "$bp"; for a in $android_bps; do echo " \"${a#$bp_dir/}\"," >> "$bp"; done echo "]" >> "$bp"; done