Skip to content
Snippets Groups Projects
Android.mk 44.6 KiB
Newer Older
  • Learn to ignore specific revisions
  • ##################################
    include $(CLEAR_VARS)
    
    
    LOCAL_MODULE := plat_service_contexts
    
    LOCAL_MODULE_CLASS := ETC
    LOCAL_MODULE_TAGS := optional
    
    ifeq ($(PRODUCT_FULL_TREBLE),true)
    LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/selinux
    else
    
    LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
    
    
    include $(BUILD_SYSTEM)/base_rules.mk
    
    
    plat_svcfiles := $(call build_policy, service_contexts, $(PLAT_PRIVATE_POLICY))
    
    plat_service_contexts.tmp := $(intermediates)/plat_service_contexts.tmp
    $(plat_service_contexts.tmp): PRIVATE_SVC_FILES := $(plat_svcfiles)
    $(plat_service_contexts.tmp): PRIVATE_ADDITIONAL_M4DEFS := $(LOCAL_ADDITIONAL_M4DEFS)
    $(plat_service_contexts.tmp): $(plat_svcfiles)
    
    	$(hide) m4 -s $(PRIVATE_ADDITIONAL_M4DEFS) $(PRIVATE_SVC_FILES) > $@
    
    
    $(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
    
    $(LOCAL_BUILT_MODULE): $(plat_service_contexts.tmp) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc $(ACP)
    
    	sed -e 's/#.*$$//' -e '/^$$/d' $< > $@
    
    	$(HOST_OUT_EXECUTABLES)/checkfc -s $(PRIVATE_SEPOLICY) $@
    
    built_plat_svc := $(LOCAL_BUILT_MODULE)
    plat_svcfiles :=
    plat_service_contexts.tmp :=
    
    rpcraig's avatar
    rpcraig committed
    ##################################
    include $(CLEAR_VARS)
    
    
    LOCAL_MODULE := nonplat_service_contexts
    
    ifeq ($(PRODUCT_FULL_TREBLE),true)
    LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/selinux
    else
    
    LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
    
    nonplat_svcfiles := $(call build_policy, service_contexts, $(PLAT_VENDOR_POLICY) $(BOARD_SEPOLICY_DIRS) $(REQD_MASK_POLICY))
    
    
    nonplat_service_contexts.tmp := $(intermediates)/nonplat_service_contexts.tmp
    $(nonplat_service_contexts.tmp): PRIVATE_SVC_FILES := $(nonplat_svcfiles)
    $(nonplat_service_contexts.tmp): PRIVATE_ADDITIONAL_M4DEFS := $(LOCAL_ADDITIONAL_M4DEFS)
    $(nonplat_service_contexts.tmp): $(nonplat_svcfiles)
    
    	$(hide) m4 -s $(PRIVATE_ADDITIONAL_M4DEFS) $(PRIVATE_SVC_FILES) > $@
    
    $(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
    $(LOCAL_BUILT_MODULE): $(nonplat_service_contexts.tmp) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc $(ACP)
    
    	sed -e 's/#.*$$//' -e '/^$$/d' $< > $@
    
    	$(hide) $(HOST_OUT_EXECUTABLES)/checkfc -s $(PRIVATE_SEPOLICY) $@
    
    built_nonplat_svc := $(LOCAL_BUILT_MODULE)
    nonplat_svcfiles :=
    nonplat_service_contexts.tmp :=
    
    
    ##################################
    include $(CLEAR_VARS)
    
    
    LOCAL_MODULE := plat_mac_permissions.xml
    
    rpcraig's avatar
    rpcraig committed
    LOCAL_MODULE_CLASS := ETC
    LOCAL_MODULE_TAGS := optional
    
    LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/selinux
    
    include $(BUILD_SYSTEM)/base_rules.mk
    
    plat_mac_perms_keys.tmp := $(intermediates)/plat_keys.tmp
    $(plat_mac_perms_keys.tmp): PRIVATE_ADDITIONAL_M4DEFS := $(LOCAL_ADDITIONAL_M4DEFS)
    $(plat_mac_perms_keys.tmp): $(call build_policy, keys.conf, $(PLAT_PRIVATE_POLICY))
    
    	$(hide) m4 -s $(PRIVATE_ADDITIONAL_M4DEFS) $^ > $@
    
    all_plat_mac_perms_files := $(call build_policy, mac_permissions.xml, $(PLAT_PRIVATE_POLICY))
    
    # Should be synced with keys.conf.
    
    all_plat_keys := platform media shared testkey
    all_plat_keys := $(all_keys:%=$(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))/%.x509.pem)
    
    $(LOCAL_BUILT_MODULE): PRIVATE_MAC_PERMS_FILES := $(all_plat_mac_perms_files)
    $(LOCAL_BUILT_MODULE): $(plat_mac_perms_keys.tmp) $(HOST_OUT_EXECUTABLES)/insertkeys.py \
    $(all_plat_mac_perms_files) $(all_plat_keys)
    
    	$(hide) DEFAULT_SYSTEM_DEV_CERTIFICATE="$(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))" \
    
    		$(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT) -c $(TOP) $< -o $@ $(PRIVATE_MAC_PERMS_FILES)
    
    all_mac_perms_files :=
    
    all_plat_keys :=
    plat_mac_perms_keys.tmp :=
    
    ##################################
    include $(CLEAR_VARS)
    
    LOCAL_MODULE := nonplat_mac_permissions.xml
    LOCAL_MODULE_CLASS := ETC
    LOCAL_MODULE_TAGS := optional
    
    LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/etc/selinux
    
    
    include $(BUILD_SYSTEM)/base_rules.mk
    
    # Build keys.conf
    nonplat_mac_perms_keys.tmp := $(intermediates)/nonplat_keys.tmp
    $(nonplat_mac_perms_keys.tmp): PRIVATE_ADDITIONAL_M4DEFS := $(LOCAL_ADDITIONAL_M4DEFS)
    
    $(nonplat_mac_perms_keys.tmp): $(call build_policy, keys.conf, $(PLAT_VENDOR_POLICY) $(BOARD_SEPOLICY_DIRS) $(REQD_MASK_POLICY))
    
    	@mkdir -p $(dir $@)
    	$(hide) m4 -s $(PRIVATE_ADDITIONAL_M4DEFS) $^ > $@
    
    
    all_nonplat_mac_perms_files := $(call build_policy, mac_permissions.xml, $(PLAT_VENDOR_POLICY) $(BOARD_SEPOLICY_DIRS) $(REQD_MASK_POLICY))
    
    
    $(LOCAL_BUILT_MODULE): PRIVATE_MAC_PERMS_FILES := $(all_nonplat_mac_perms_files)
    $(LOCAL_BUILT_MODULE): $(nonplat_mac_perms_keys.tmp) $(HOST_OUT_EXECUTABLES)/insertkeys.py \
    $(all_nonplat_mac_perms_files)
    	@mkdir -p $(dir $@)
    	$(hide) $(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT) -c $(TOP) $< -o $@ $(PRIVATE_MAC_PERMS_FILES)
    
    nonplat_mac_perms_keys.tmp :=
    all_nonplat_mac_perms_files :=
    
    ##################################
    
    build_device_policy :=
    
    built_plat_fc :=
    built_nonplat_fc :=
    
    built_general_sepolicy :=
    built_general_sepolicy.conf :=
    
    built_plat_cil :=
    built_mapping_cil :=
    
    built_nonplat_cil :=
    
    built_nonplat_sc :=
    built_plat_sc :=
    
    built_precompiled_sepolicy :=
    
    built_plat_svc :=
    built_nonplat_svc :=
    
    mapping_policy_nvr :=
    my_target_arch :=
    nonplat_policy_nvr :=
    plat_policy_nvr :=
    
    plat_pub_policy.cil :=
    reqd_policy_mask.cil :=
    
    sepolicy_build_cil_workaround_files :=
    
    
    include $(call all-makefiles-under,$(LOCAL_PATH))