Allow optional product inheritance

This allows to use a proper $(call inherit-product) across
the open-source -> non-open-source boundary in a way that
can automatically adapt to whether the non-open-source
part is present or not

Change-Id: I357721c68362ff8c0f90610850b0368adee68ada
diff --git a/core/product.mk b/core/product.mk
index 5417242..eca98ed 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -101,6 +101,14 @@
   $(eval ALL_PRODUCTS := $(sort $(ALL_PRODUCTS) $(word 1,$(_include_stack))))
 endef
 
+
+#
+# Do inherit-product only if $(1) exists
+#
+define inherit-product-if-exists
+  $(if $(wildcard $(1)),$(call inherit-product,$(1)),)
+endef
+
 #
 # $(1): product makefile list
 #