blob: 487ae4d700c16e648a9bd3ac4e001210adc73732 [file] [log] [blame]
Stephen Smalley2dd4e512012-01-04 12:33:27 -05001LOCAL_PATH:= $(call my-dir)
William Robertsf0e0a942012-08-27 15:41:15 -07002
Stephen Smalley2dd4e512012-01-04 12:33:27 -05003include $(CLEAR_VARS)
4
5# SELinux policy version.
Stephen Smalleyb4f17062015-03-13 10:03:52 -04006# Must be <= /sys/fs/selinux/policyvers reported by the Android kernel.
Stephen Smalley2dd4e512012-01-04 12:33:27 -05007# Must be within the compatibility range reported by checkpolicy -V.
Stephen Smalleye543a8b2013-04-01 10:07:43 -04008POLICYVERS ?= 26
Stephen Smalley2dd4e512012-01-04 12:33:27 -05009
10MLS_SENS=1
11MLS_CATS=1024
12
Stephen Smalleyb4f17062015-03-13 10:03:52 -040013ifdef BOARD_SEPOLICY_REPLACE
14$(error BOARD_SEPOLICY_REPLACE is no longer supported; please remove from your BoardConfig.mk or other .mk file.)
15endif
16
17ifdef BOARD_SEPOLICY_IGNORE
18$(error BOARD_SEPOLICY_IGNORE is no longer supported; please remove from your BoardConfig.mk or other .mk file.)
19endif
Stephen Smalley5b340be2012-03-06 11:12:41 -050020
Stephen Smalley8e0ca882015-04-01 10:14:56 -040021ifdef BOARD_SEPOLICY_UNION
22$(warning BOARD_SEPOLICY_UNION is no longer required - all files found in BOARD_SEPOLICY_DIRS are implicitly unioned; please remove from your BoardConfig.mk or other .mk file.)
23endif
Robert Craig6b0ff472014-01-29 13:10:58 -050024
Stephen Smalley8e0ca882015-04-01 10:14:56 -040025# Builds paths for all policy files found in BOARD_SEPOLICY_DIRS.
rpcraig47cd3962012-10-17 21:09:52 -040026# $(1): the set of policy name paths to build
Stephen Smalley8e0ca882015-04-01 10:14:56 -040027build_policy = $(foreach type, $(1), $(wildcard $(addsuffix /$(type), $(LOCAL_PATH) $(BOARD_SEPOLICY_DIRS))))
Stephen Smalley5b340be2012-03-06 11:12:41 -050028
dcashman704741a2014-07-25 19:11:52 -070029sepolicy_build_files := security_classes \
30 initial_sids \
31 access_vectors \
32 global_macros \
Nick Kralevicha17a2662014-11-05 15:30:41 -080033 neverallow_macros \
dcashman704741a2014-07-25 19:11:52 -070034 mls_macros \
35 mls \
36 policy_capabilities \
37 te_macros \
38 attributes \
39 *.te \
40 roles \
41 users \
42 initial_sid_contexts \
43 fs_use \
44 genfs_contexts \
45 port_contexts
46
Ying Wang02fb5f32012-01-17 17:51:09 -080047##################################
48include $(CLEAR_VARS)
Stephen Smalley2dd4e512012-01-04 12:33:27 -050049
Ying Wang02fb5f32012-01-17 17:51:09 -080050LOCAL_MODULE := sepolicy
51LOCAL_MODULE_CLASS := ETC
52LOCAL_MODULE_TAGS := optional
Ying Wang02fb5f32012-01-17 17:51:09 -080053LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
Stephen Smalley2dd4e512012-01-04 12:33:27 -050054
Ying Wang02fb5f32012-01-17 17:51:09 -080055include $(BUILD_SYSTEM)/base_rules.mk
Stephen Smalley2dd4e512012-01-04 12:33:27 -050056
Ying Wang02fb5f32012-01-17 17:51:09 -080057sepolicy_policy.conf := $(intermediates)/policy.conf
58$(sepolicy_policy.conf): PRIVATE_MLS_SENS := $(MLS_SENS)
59$(sepolicy_policy.conf): PRIVATE_MLS_CATS := $(MLS_CATS)
William Robertsda52e852015-06-27 07:22:34 -070060$(sepolicy_policy.conf): $(call build_policy, $(sepolicy_build_files))
Ying Wang02fb5f32012-01-17 17:51:09 -080061 @mkdir -p $(dir $@)
Nick Kralevich623975f2014-01-11 01:31:03 -080062 $(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
63 -D target_build_variant=$(TARGET_BUILD_VARIANT) \
Nick Kralevich623975f2014-01-11 01:31:03 -080064 -s $^ > $@
Robert Craig65d4f442013-03-27 06:30:25 -040065 $(hide) sed '/dontaudit/d' $@ > $@.dontaudit
Stephen Smalley2dd4e512012-01-04 12:33:27 -050066
William Robertsda52e852015-06-27 07:22:34 -070067$(LOCAL_BUILT_MODULE): $(sepolicy_policy.conf) $(HOST_OUT_EXECUTABLES)/checkpolicy
Ying Wang02fb5f32012-01-17 17:51:09 -080068 @mkdir -p $(dir $@)
Ying Wangf4ea5b22012-04-09 15:31:03 -070069 $(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $@ $<
Robert Craig65d4f442013-03-27 06:30:25 -040070 $(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $(dir $<)/$(notdir $@).dontaudit $<.dontaudit
Ying Wang02fb5f32012-01-17 17:51:09 -080071
Ying Wangd8b122c2012-10-25 19:01:31 -070072built_sepolicy := $(LOCAL_BUILT_MODULE)
Ying Wang02fb5f32012-01-17 17:51:09 -080073sepolicy_policy.conf :=
Stephen Smalley01a58af2012-10-02 12:46:37 -040074
Stephen Smalleye60723a2014-05-29 16:40:15 -040075##################################
76include $(CLEAR_VARS)
77
78LOCAL_MODULE := sepolicy.recovery
79LOCAL_MODULE_CLASS := ETC
80LOCAL_MODULE_TAGS := eng
81
82include $(BUILD_SYSTEM)/base_rules.mk
83
84sepolicy_policy_recovery.conf := $(intermediates)/policy_recovery.conf
85$(sepolicy_policy_recovery.conf): PRIVATE_MLS_SENS := $(MLS_SENS)
86$(sepolicy_policy_recovery.conf): PRIVATE_MLS_CATS := $(MLS_CATS)
William Robertsda52e852015-06-27 07:22:34 -070087$(sepolicy_policy_recovery.conf): $(call build_policy, $(sepolicy_build_files))
Stephen Smalleye60723a2014-05-29 16:40:15 -040088 @mkdir -p $(dir $@)
89 $(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
90 -D target_build_variant=$(TARGET_BUILD_VARIANT) \
Stephen Smalleye60723a2014-05-29 16:40:15 -040091 -D target_recovery=true \
92 -s $^ > $@
93
William Robertsda52e852015-06-27 07:22:34 -070094$(LOCAL_BUILT_MODULE): $(sepolicy_policy_recovery.conf) $(HOST_OUT_EXECUTABLES)/checkpolicy
Stephen Smalleye60723a2014-05-29 16:40:15 -040095 @mkdir -p $(dir $@)
96 $(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $@ $<
97
98built_sepolicy_recovery := $(LOCAL_BUILT_MODULE)
99sepolicy_policy_recovery.conf :=
100
dcashman704741a2014-07-25 19:11:52 -0700101##################################
102include $(CLEAR_VARS)
103
104LOCAL_MODULE := general_sepolicy.conf
105LOCAL_MODULE_CLASS := ETC
106LOCAL_MODULE_TAGS := tests
107
108include $(BUILD_SYSTEM)/base_rules.mk
109
110exp_sepolicy_build_files :=\
111 $(wildcard $(addprefix $(LOCAL_PATH)/, $(sepolicy_build_files)))
112
113$(LOCAL_BUILT_MODULE): PRIVATE_MLS_SENS := $(MLS_SENS)
114$(LOCAL_BUILT_MODULE): PRIVATE_MLS_CATS := $(MLS_CATS)
115$(LOCAL_BUILT_MODULE): $(exp_sepolicy_build_files)
116 mkdir -p $(dir $@)
117 $(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
118 -D target_build_variant=user \
dcashman704741a2014-07-25 19:11:52 -0700119 -s $^ > $@
120 $(hide) sed '/dontaudit/d' $@ > $@.dontaudit
121
William Robertsb8769932015-06-29 16:31:23 -0700122built_general_sepolicy.conf := $(LOCAL_BUILT_MODULE)
dcashman704741a2014-07-25 19:11:52 -0700123exp_sepolicy_build_files :=
124
125##################################
Stephen Smalley01a58af2012-10-02 12:46:37 -0400126include $(CLEAR_VARS)
127
William Robertsb8769932015-06-29 16:31:23 -0700128LOCAL_MODULE := sepolicy.general
129LOCAL_MODULE_CLASS := ETC
130LOCAL_MODULE_TAGS := tests
131
132include $(BUILD_SYSTEM)/base_rules.mk
133
134$(LOCAL_BUILT_MODULE): PRIVATE_BUILT_SEPOLICY.CONF := $(built_general_sepolicy.conf)
135$(LOCAL_BUILT_MODULE): $(built_general_sepolicy.conf) $(HOST_OUT_EXECUTABLES)/checkpolicy
136 @mkdir -p $(dir $@)
137 $(hide) $(HOST_OUT_EXECUTABLES)/checkpolicy -M -c $(POLICYVERS) -o $@ $(PRIVATE_BUILT_SEPOLICY.CONF)
138
139built_general_sepolicy := $(LOCAL_BUILT_MODULE)
140##################################
141include $(CLEAR_VARS)
142
Ying Wang02fb5f32012-01-17 17:51:09 -0800143LOCAL_MODULE := file_contexts
Ying Wang02fb5f32012-01-17 17:51:09 -0800144LOCAL_MODULE_CLASS := ETC
145LOCAL_MODULE_TAGS := optional
146LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
147
Stephen Smalley5b340be2012-03-06 11:12:41 -0500148include $(BUILD_SYSTEM)/base_rules.mk
Ying Wang02fb5f32012-01-17 17:51:09 -0800149
William Robertsffc86be2015-06-29 11:16:18 -0700150all_fc_files := file_contexts
Evgenii Stepanov93030482015-06-12 17:18:20 -0700151ifeq (address,$(strip $(SANITIZE_TARGET)))
William Robertsffc86be2015-06-29 11:16:18 -0700152 all_fc_files := $(all_fc_files) file_contexts_asan
Evgenii Stepanov93030482015-06-12 17:18:20 -0700153endif
William Robertsffc86be2015-06-29 11:16:18 -0700154all_fc_files := $(call build_policy, $(all_fc_files))
Stephen Smalley01a58af2012-10-02 12:46:37 -0400155
Ying Wangd8b122c2012-10-25 19:01:31 -0700156$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Robertsffc86be2015-06-29 11:16:18 -0700157$(LOCAL_BUILT_MODULE): PRIVATE_FC_FILES := $(all_fc_files)
158$(LOCAL_BUILT_MODULE): $(all_fc_files) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley5b340be2012-03-06 11:12:41 -0500159 @mkdir -p $(dir $@)
William Robertsffc86be2015-06-29 11:16:18 -0700160 $(hide) m4 -s $(PRIVATE_FC_FILES) > $@
Ying Wangd8b122c2012-10-25 19:01:31 -0700161 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc $(PRIVATE_SEPOLICY) $@
Stephen Smalley5b340be2012-03-06 11:12:41 -0500162
Robert Craig8b7545b2014-03-20 09:35:08 -0400163built_fc := $(LOCAL_BUILT_MODULE)
William Robertsffc86be2015-06-29 11:16:18 -0700164all_fc_files :=
William Roberts171a0622012-08-16 10:55:05 -0700165
Ying Wang02fb5f32012-01-17 17:51:09 -0800166##################################
167include $(CLEAR_VARS)
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400168
169LOCAL_MODULE := general_file_contexts
170LOCAL_MODULE_CLASS := ETC
171LOCAL_MODULE_TAGS := tests
172
173include $(BUILD_SYSTEM)/base_rules.mk
174
William Robertsb8769932015-06-29 16:31:23 -0700175$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_general_sepolicy)
176$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, file_contexts) $(built_general_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400177 @mkdir -p $(dir $@)
178 $(hide) m4 -s $< > $@
179 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc $(PRIVATE_SEPOLICY) $@
180
181GENERAL_FILE_CONTEXTS := $(LOCAL_BUILT_MODULE)
182
183##################################
184include $(CLEAR_VARS)
Ying Wang02fb5f32012-01-17 17:51:09 -0800185LOCAL_MODULE := seapp_contexts
Ying Wang02fb5f32012-01-17 17:51:09 -0800186LOCAL_MODULE_CLASS := ETC
187LOCAL_MODULE_TAGS := optional
188LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
189
William Roberts171a0622012-08-16 10:55:05 -0700190include $(BUILD_SYSTEM)/base_rules.mk
Ying Wang02fb5f32012-01-17 17:51:09 -0800191
William Roberts81e1f902015-06-03 21:57:47 -0700192all_sc_files := $(call build_policy, seapp_contexts)
William Roberts171a0622012-08-16 10:55:05 -0700193
Ying Wangd8b122c2012-10-25 19:01:31 -0700194$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Roberts81e1f902015-06-03 21:57:47 -0700195$(LOCAL_BUILT_MODULE): PRIVATE_SC_FILES := $(all_sc_files)
196$(LOCAL_BUILT_MODULE): $(built_sepolicy) $(all_sc_files) $(HOST_OUT_EXECUTABLES)/checkseapp
William Robertsf0e0a942012-08-27 15:41:15 -0700197 @mkdir -p $(dir $@)
William Roberts99fe8df2015-06-30 13:53:51 -0700198 $(hide) $(HOST_OUT_EXECUTABLES)/checkseapp -p $(PRIVATE_SEPOLICY) -o $@ $(PRIVATE_SC_FILES)
Ying Wang02fb5f32012-01-17 17:51:09 -0800199
Robert Craig8b7545b2014-03-20 09:35:08 -0400200built_sc := $(LOCAL_BUILT_MODULE)
William Roberts81e1f902015-06-03 21:57:47 -0700201all_sc_files :=
Robert Craig8b7545b2014-03-20 09:35:08 -0400202
Ying Wang02fb5f32012-01-17 17:51:09 -0800203##################################
Stephen Smalley124720a2012-04-04 10:11:16 -0400204include $(CLEAR_VARS)
Stephen Smalley37712872015-03-12 15:46:36 -0400205LOCAL_MODULE := general_seapp_contexts
206LOCAL_MODULE_CLASS := ETC
207LOCAL_MODULE_TAGS := tests
208
209include $(BUILD_SYSTEM)/base_rules.mk
210
William Roberts81e1f902015-06-03 21:57:47 -0700211all_sc_files := $(addprefix $(LOCAL_PATH)/, seapp_contexts)
Stephen Smalley37712872015-03-12 15:46:36 -0400212
William Robertsb8769932015-06-29 16:31:23 -0700213$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_general_sepolicy)
William Roberts81e1f902015-06-03 21:57:47 -0700214$(LOCAL_BUILT_MODULE): PRIVATE_SC_FILE := $(all_sc_files)
William Robertsb8769932015-06-29 16:31:23 -0700215$(LOCAL_BUILT_MODULE): $(built_general_sepolicy) $(all_sc_files) $(HOST_OUT_EXECUTABLES)/checkseapp
Stephen Smalley37712872015-03-12 15:46:36 -0400216 @mkdir -p $(dir $@)
William Roberts99fe8df2015-06-30 13:53:51 -0700217 $(hide) $(HOST_OUT_EXECUTABLES)/checkseapp -p $(PRIVATE_SEPOLICY) -o $@ $(PRIVATE_SC_FILE)
Stephen Smalley37712872015-03-12 15:46:36 -0400218
219GENERAL_SEAPP_CONTEXTS := $(LOCAL_BUILT_MODULE)
William Roberts81e1f902015-06-03 21:57:47 -0700220all_sc_files :=
Stephen Smalley37712872015-03-12 15:46:36 -0400221
222##################################
223include $(CLEAR_VARS)
William Roberts4ee71312015-06-25 11:59:30 -0700224LOCAL_MODULE := general_seapp_neverallows
225LOCAL_MODULE_CLASS := ETC
226LOCAL_MODULE_TAGS := tests
227
228include $(BUILD_SYSTEM)/base_rules.mk
229
230$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, seapp_contexts)
231 @mkdir -p $(dir $@)
232 - $(hide) grep -ie '^neverallow' $< > $@
233
234GENERAL_SEAPP_NEVERALLOWS := $(LOCAL_BUILT_MODULE)
235
236##################################
237include $(CLEAR_VARS)
Stephen Smalley124720a2012-04-04 10:11:16 -0400238
239LOCAL_MODULE := property_contexts
240LOCAL_MODULE_CLASS := ETC
241LOCAL_MODULE_TAGS := optional
242LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
243
244include $(BUILD_SYSTEM)/base_rules.mk
245
Robert Craigd98d26e2013-01-23 14:04:50 -0500246ALL_PC_FILES := $(call build_policy, property_contexts)
247
248$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Roberts85402532015-07-16 11:32:06 -0700249$(LOCAL_BUILT_MODULE): $(ALL_PC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley124720a2012-04-04 10:11:16 -0400250 @mkdir -p $(dir $@)
Robert Craigd98d26e2013-01-23 14:04:50 -0500251 $(hide) m4 -s $(ALL_PC_FILES) > $@
252 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
Stephen Smalley124720a2012-04-04 10:11:16 -0400253
Robert Craig8b7545b2014-03-20 09:35:08 -0400254built_pc := $(LOCAL_BUILT_MODULE)
255
Stephen Smalley124720a2012-04-04 10:11:16 -0400256##################################
Riley Spahnf90c41f2014-06-05 15:52:02 -0700257include $(CLEAR_VARS)
258
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400259LOCAL_MODULE := general_property_contexts
260LOCAL_MODULE_CLASS := ETC
261LOCAL_MODULE_TAGS := tests
262
Stephen Smalleyc9361732015-03-13 09:36:57 -0400263include $(BUILD_SYSTEM)/base_rules.mk
264
William Robertsb8769932015-06-29 16:31:23 -0700265$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_general_sepolicy)
266$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, property_contexts) $(built_general_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400267 @mkdir -p $(dir $@)
268 $(hide) m4 -s $< > $@
269 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
270
271GENERAL_PROPERTY_CONTEXTS := $(LOCAL_BUILT_MODULE)
272
273##################################
274include $(CLEAR_VARS)
275
Riley Spahnf90c41f2014-06-05 15:52:02 -0700276LOCAL_MODULE := service_contexts
277LOCAL_MODULE_CLASS := ETC
278LOCAL_MODULE_TAGS := optional
279LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
280
281include $(BUILD_SYSTEM)/base_rules.mk
282
283ALL_SVC_FILES := $(call build_policy, service_contexts)
284
285$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Roberts85402532015-07-16 11:32:06 -0700286$(LOCAL_BUILT_MODULE): $(ALL_SVC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Riley Spahnf90c41f2014-06-05 15:52:02 -0700287 @mkdir -p $(dir $@)
288 $(hide) m4 -s $(ALL_SVC_FILES) > $@
289 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
290
291built_svc := $(LOCAL_BUILT_MODULE)
292
293##################################
rpcraigb19665c2012-07-30 09:33:03 -0400294include $(CLEAR_VARS)
295
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400296LOCAL_MODULE := general_service_contexts
297LOCAL_MODULE_CLASS := ETC
298LOCAL_MODULE_TAGS := tests
299
300include $(BUILD_SYSTEM)/base_rules.mk
301
William Robertsb8769932015-06-29 16:31:23 -0700302$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_general_sepolicy)
303$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, service_contexts) $(built_general_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400304 @mkdir -p $(dir $@)
305 $(hide) m4 -s $< > $@
306 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
307
308GENERAL_SERVICE_CONTEXTS := $(LOCAL_BUILT_MODULE)
309
310##################################
311include $(CLEAR_VARS)
312
Robert Craig7f2392e2013-03-27 08:35:39 -0400313LOCAL_MODULE := mac_permissions.xml
rpcraigb19665c2012-07-30 09:33:03 -0400314LOCAL_MODULE_CLASS := ETC
315LOCAL_MODULE_TAGS := optional
316LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/security
317
William Roberts2c8a55d2012-11-30 14:59:09 -0800318include $(BUILD_SYSTEM)/base_rules.mk
rpcraigb19665c2012-07-30 09:33:03 -0400319
Geremy Condracd4104e2013-03-26 18:19:12 +0000320# Build keys.conf
321mac_perms_keys.tmp := $(intermediates)/keys.tmp
William Robertsda52e852015-06-27 07:22:34 -0700322$(mac_perms_keys.tmp): $(call build_policy, keys.conf)
Geremy Condracd4104e2013-03-26 18:19:12 +0000323 @mkdir -p $(dir $@)
324 $(hide) m4 -s $^ > $@
325
Robert Craig7f2392e2013-03-27 08:35:39 -0400326ALL_MAC_PERMS_FILES := $(call build_policy, $(LOCAL_MODULE))
rpcraigb19665c2012-07-30 09:33:03 -0400327
William Robertsda52e852015-06-27 07:22:34 -0700328$(LOCAL_BUILT_MODULE): $(mac_perms_keys.tmp) $(HOST_OUT_EXECUTABLES)/insertkeys.py $(ALL_MAC_PERMS_FILES)
Geremy Condracd4104e2013-03-26 18:19:12 +0000329 @mkdir -p $(dir $@)
Nick Kralevichc3c90522013-10-25 12:25:36 -0700330 $(hide) DEFAULT_SYSTEM_DEV_CERTIFICATE="$(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))" \
331 $(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT) -c $(TOP) $< -o $@ $(ALL_MAC_PERMS_FILES)
Geremy Condracd4104e2013-03-26 18:19:12 +0000332
Robert Craig7f2392e2013-03-27 08:35:39 -0400333mac_perms_keys.tmp :=
rpcraigb19665c2012-07-30 09:33:03 -0400334##################################
Robert Craig8b7545b2014-03-20 09:35:08 -0400335include $(CLEAR_VARS)
336
337LOCAL_MODULE := selinux_version
338LOCAL_MODULE_CLASS := ETC
339LOCAL_MODULE_TAGS := optional
340LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
341
342include $(BUILD_SYSTEM)/base_rules.mk
William Robertsda52e852015-06-27 07:22:34 -0700343$(LOCAL_BUILT_MODULE): $(built_sepolicy) $(built_pc) $(built_fc) $(built_sc) $(built_svc)
Robert Craig8b7545b2014-03-20 09:35:08 -0400344 @mkdir -p $(dir $@)
345 $(hide) echo -n $(BUILD_FINGERPRINT) > $@
346
347##################################
rpcraig47cd3962012-10-17 21:09:52 -0400348
349build_policy :=
dcashman704741a2014-07-25 19:11:52 -0700350sepolicy_build_files :=
Robert Craig8b7545b2014-03-20 09:35:08 -0400351built_sepolicy :=
352built_sc :=
353built_fc :=
354built_pc :=
Riley Spahnf90c41f2014-06-05 15:52:02 -0700355built_svc :=
William Robertsb8769932015-06-29 16:31:23 -0700356built_general_sepolicy :=
357built_general_sepolicy.conf :=
Alice Chucdfb06f2012-11-01 11:33:04 -0700358
359include $(call all-makefiles-under,$(LOCAL_PATH))