blob: 68f4c69a2c185f0c1dff42c5d1fc5a1eb1e47b1b [file] [log] [blame]
Stephen Smalley7e8cf242012-02-02 13:28:28 -05001ifeq ($(HAVE_SELINUX),true)
2
Stephen Smalley2dd4e512012-01-04 12:33:27 -05003LOCAL_PATH:= $(call my-dir)
4include $(CLEAR_VARS)
5
6# SELinux policy version.
7# Must be <= /selinux/policyvers reported by the Android kernel.
8# Must be within the compatibility range reported by checkpolicy -V.
9POLICYVERS := 24
10
11MLS_SENS=1
12MLS_CATS=1024
13
Stephen Smalley5b340be2012-03-06 11:12:41 -050014LOCAL_POLICY_DIRS := $(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/ device/*/$(TARGET_DEVICE)/ vendor/*/$(TARGET_DEVICE)/
15
Stephen Smalley64935c72012-03-06 13:27:39 -050016LOCAL_POLICY_FC := $(wildcard $(addsuffix sepolicy.fc, $(LOCAL_POLICY_DIRS)))
17LOCAL_POLICY_TE := $(wildcard $(addsuffix sepolicy.te, $(LOCAL_POLICY_DIRS)))
Stephen Smalley124720a2012-04-04 10:11:16 -040018LOCAL_POLICY_PC := $(wildcard $(addsuffix sepolicy.pc, $(LOCAL_POLICY_DIRS)))
Stephen Smalley5b340be2012-03-06 11:12:41 -050019
Ying Wang02fb5f32012-01-17 17:51:09 -080020##################################
21include $(CLEAR_VARS)
Stephen Smalley2dd4e512012-01-04 12:33:27 -050022
Ying Wang02fb5f32012-01-17 17:51:09 -080023LOCAL_MODULE := sepolicy
24LOCAL_MODULE_CLASS := ETC
25LOCAL_MODULE_TAGS := optional
26LOCAL_MODULE_SUFFIX := .$(POLICYVERS)
27LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
Stephen Smalley2dd4e512012-01-04 12:33:27 -050028
Ying Wang02fb5f32012-01-17 17:51:09 -080029include $(BUILD_SYSTEM)/base_rules.mk
Stephen Smalley2dd4e512012-01-04 12:33:27 -050030
Ying Wang02fb5f32012-01-17 17:51:09 -080031sepolicy_policy.conf := $(intermediates)/policy.conf
32$(sepolicy_policy.conf): PRIVATE_MLS_SENS := $(MLS_SENS)
33$(sepolicy_policy.conf): PRIVATE_MLS_CATS := $(MLS_CATS)
Stephen Smalley5b340be2012-03-06 11:12:41 -050034$(sepolicy_policy.conf) : $(wildcard $(addprefix $(LOCAL_PATH)/,security_classes initial_sids access_vectors global_macros mls_macros mls policy_capabilities te_macros attributes *.te) $(LOCAL_POLICY_TE) $(addprefix $(LOCAL_PATH)/, roles users ocontexts))
Ying Wang02fb5f32012-01-17 17:51:09 -080035 @mkdir -p $(dir $@)
36 $(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) -s $^ > $@
Stephen Smalley2dd4e512012-01-04 12:33:27 -050037
Stephen Smalley2b826fc2012-01-24 08:46:13 -050038$(LOCAL_BUILT_MODULE) : $(sepolicy_policy.conf) $(HOST_OUT_EXECUTABLES)/checkpolicy
Ying Wang02fb5f32012-01-17 17:51:09 -080039 @mkdir -p $(dir $@)
Ying Wangf4ea5b22012-04-09 15:31:03 -070040 $(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $@ $<
Ying Wang02fb5f32012-01-17 17:51:09 -080041
42sepolicy_policy.conf :=
43##################################
44include $(CLEAR_VARS)
45
46LOCAL_MODULE := file_contexts
Ying Wang02fb5f32012-01-17 17:51:09 -080047LOCAL_MODULE_CLASS := ETC
48LOCAL_MODULE_TAGS := optional
49LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
50
Stephen Smalley5b340be2012-03-06 11:12:41 -050051include $(BUILD_SYSTEM)/base_rules.mk
Ying Wang02fb5f32012-01-17 17:51:09 -080052
Stephen Smalley5b340be2012-03-06 11:12:41 -050053file_contexts := $(intermediates)/file_contexts
54$(file_contexts): $(LOCAL_PATH)/file_contexts $(LOCAL_POLICY_FC)
55 @mkdir -p $(dir $@)
Stephen Smalleyefd6d6e2012-05-18 08:24:25 -040056 $(hide) m4 -s $^ > $@
Stephen Smalley5b340be2012-03-06 11:12:41 -050057
58file_contexts :=
Ying Wang02fb5f32012-01-17 17:51:09 -080059##################################
60include $(CLEAR_VARS)
61
62LOCAL_MODULE := seapp_contexts
63LOCAL_SRC_FILES := $(LOCAL_MODULE)
64LOCAL_MODULE_CLASS := ETC
65LOCAL_MODULE_TAGS := optional
66LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
67
68include $(BUILD_PREBUILT)
69
70##################################
Stephen Smalley124720a2012-04-04 10:11:16 -040071include $(CLEAR_VARS)
72
73LOCAL_MODULE := property_contexts
74LOCAL_MODULE_CLASS := ETC
75LOCAL_MODULE_TAGS := optional
76LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
77
78include $(BUILD_SYSTEM)/base_rules.mk
79
80property_contexts := $(intermediates)/property_contexts
81$(property_contexts): $(LOCAL_PATH)/property_contexts $(LOCAL_POLICY_PC)
82 @mkdir -p $(dir $@)
Stephen Smalleyefd6d6e2012-05-18 08:24:25 -040083 $(hide) m4 -s $^ > $@
Stephen Smalley124720a2012-04-04 10:11:16 -040084
85property_contexts :=
86##################################
Stephen Smalley7e8cf242012-02-02 13:28:28 -050087
88endif #ifeq ($(HAVE_SELINUX),true)