Dynamic insertion of pubkey to mac_permissions.xml

Support the inseretion of the public key from pem
files into the mac_permissions.xml file at build
time.

Change-Id: Ia42b6cba39bf93723ed3fb85236eb8f80a08962a
diff --git a/Android.mk b/Android.mk
index 9a5ee9d..e145bb2 100644
--- a/Android.mk
+++ b/Android.mk
@@ -162,12 +162,23 @@
 
 include $(BUILD_SYSTEM)/base_rules.mk
 
-mmac := $(intermediates)/$(MAC_PERMISSION_FILE)
-$(mmac) : $(call build_policy, $(MAC_PERMISSION_FILE))
+# Build keys.conf
+mac_perms_keys.tmp := $(intermediates)/keys.tmp
+$(mac_perms_keys.tmp) : $(call build_policy, keys.conf)
+	@mkdir -p $(dir $@)
+	$(hide) m4 -s $^ > $@
+
+# Build mac_permissions.xml
+$(MAC_PERMISSION_FILE).tmp := $(intermediates)/$(MAC_PERMISSION_FILE).tmp
+$($(MAC_PERMISSION_FILE).tmp) : $(call build_policy, $(MAC_PERMISSION_FILE))
 	@mkdir -p $(dir $@)
 	$(hide) cp $^ $@
 
-mmac :=
+$(LOCAL_BUILT_MODULE) : $($(MAC_PERMISSION_FILE).tmp) $(mac_perms_keys.tmp) $(HOST_OUT_EXECUTABLES)/insertkeys.py
+	@mkdir -p $(dir $@)
+	$(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT) -c $(ANDROID_BUILD_TOP) $(mac_perms_keys.tmp) -o $@ $<
+
+$(MAC_PERMISSION_FILE).tmp :=
 ##################################
 
 build_policy :=