brillo: Add helper to conditionally include hal makefiles

This allows peripherals to define a hal.mk alongside their
peripheral.mk. The hal.mk will be included as an Android.mk
would, if the peripheral.mk is selected by the device definition

BUG: 26472263

Change-Id: Id66679549c1bc679e3a003000bba9bea95a3c39a
diff --git a/brillo_base.mk b/brillo_base.mk
index 94d21ab..388ef02 100644
--- a/brillo_base.mk
+++ b/brillo_base.mk
@@ -376,6 +376,7 @@
   $(eval peripheral_name := $(strip $(2))) \
   $(eval peripheral_make_file := $(HARDWARE_BSP_PREFIX)/$(peripheral_vendor)/peripheral/$(peripheral_name)/peripheral.mk) \
   $(eval peripheral_prebuilts_make_file := $(HARDWARE_BSP_PREBUILTS_PREFIX)/$(peripheral_vendor)/hardware/peripheral/$(peripheral_name)/peripheral.mk) \
+  $(eval HAL_MAKEFILES += $(HARDWARE_BSP_PREFIX)/$(peripheral_vendor)/peripheral/$(peripheral_name)/hal.mk) \
   $(if $(wildcard $(peripheral_make_file)),$(eval include $(peripheral_make_file)), \
     $(if $(wildcard $(peripheral_prebuilts_make_file)),$(eval include $(peripheral_prebuilts_make_file)), \
       $(error Can't find peripheral definition. Vendor: $(peripheral_vendor) peripheral: $(peripheral_name))))
diff --git a/build/Android.mk b/build/Android.mk
index dbb26c1..795e051 100644
--- a/build/Android.mk
+++ b/build/Android.mk
@@ -15,8 +15,12 @@
 #
 
 # -----------------------------------------------------------------
-# The vendor partition package for brillo device.
 
+# Include the peripheral HALs
+$(foreach f,$(HAL_MAKEFILES), \
+    $(if $(wildcard $(f)),$(eval include $(f))))
+
+# The vendor partition package for brillo device.
 ifdef BRILLO_VENDOR_PARTITIONS
 
 # The staging directory to store vendor partitions.