blob: 1af67bbf0a5a8c0c716a4b9e9cf6116c62358f30 [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
122GENERAL_SEPOLICY_POLICY.CONF = $(LOCAL_BUILT_MODULE)
123
124exp_sepolicy_build_files :=
125
126##################################
Stephen Smalley01a58af2012-10-02 12:46:37 -0400127include $(CLEAR_VARS)
128
Ying Wang02fb5f32012-01-17 17:51:09 -0800129LOCAL_MODULE := file_contexts
Ying Wang02fb5f32012-01-17 17:51:09 -0800130LOCAL_MODULE_CLASS := ETC
131LOCAL_MODULE_TAGS := optional
132LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
133
Stephen Smalley5b340be2012-03-06 11:12:41 -0500134include $(BUILD_SYSTEM)/base_rules.mk
Ying Wang02fb5f32012-01-17 17:51:09 -0800135
Evgenii Stepanov93030482015-06-12 17:18:20 -0700136FILE_CONTEXTS := file_contexts
137ifeq (address,$(strip $(SANITIZE_TARGET)))
138 FILE_CONTEXTS := $(FILE_CONTEXTS) file_contexts_asan
139endif
140ALL_FC_FILES := $(call build_policy, $(FILE_CONTEXTS))
Stephen Smalley01a58af2012-10-02 12:46:37 -0400141
Ying Wangd8b122c2012-10-25 19:01:31 -0700142$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
143$(LOCAL_BUILT_MODULE): $(ALL_FC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley5b340be2012-03-06 11:12:41 -0500144 @mkdir -p $(dir $@)
Stephen Smalley01a58af2012-10-02 12:46:37 -0400145 $(hide) m4 -s $(ALL_FC_FILES) > $@
Ying Wangd8b122c2012-10-25 19:01:31 -0700146 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc $(PRIVATE_SEPOLICY) $@
Stephen Smalley5b340be2012-03-06 11:12:41 -0500147
Robert Craig8b7545b2014-03-20 09:35:08 -0400148built_fc := $(LOCAL_BUILT_MODULE)
William Roberts171a0622012-08-16 10:55:05 -0700149
Ying Wang02fb5f32012-01-17 17:51:09 -0800150##################################
151include $(CLEAR_VARS)
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400152
153LOCAL_MODULE := general_file_contexts
154LOCAL_MODULE_CLASS := ETC
155LOCAL_MODULE_TAGS := tests
156
157include $(BUILD_SYSTEM)/base_rules.mk
158
159$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Robertsda52e852015-06-27 07:22:34 -0700160$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, file_contexts) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400161 @mkdir -p $(dir $@)
162 $(hide) m4 -s $< > $@
163 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc $(PRIVATE_SEPOLICY) $@
164
165GENERAL_FILE_CONTEXTS := $(LOCAL_BUILT_MODULE)
166
167##################################
168include $(CLEAR_VARS)
Ying Wang02fb5f32012-01-17 17:51:09 -0800169LOCAL_MODULE := seapp_contexts
Ying Wang02fb5f32012-01-17 17:51:09 -0800170LOCAL_MODULE_CLASS := ETC
171LOCAL_MODULE_TAGS := optional
172LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
173
William Roberts171a0622012-08-16 10:55:05 -0700174include $(BUILD_SYSTEM)/base_rules.mk
Ying Wang02fb5f32012-01-17 17:51:09 -0800175
William Roberts81e1f902015-06-03 21:57:47 -0700176all_sc_files := $(call build_policy, seapp_contexts)
William Roberts171a0622012-08-16 10:55:05 -0700177
Ying Wangd8b122c2012-10-25 19:01:31 -0700178$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Roberts81e1f902015-06-03 21:57:47 -0700179$(LOCAL_BUILT_MODULE): PRIVATE_SC_FILES := $(all_sc_files)
180$(LOCAL_BUILT_MODULE): $(built_sepolicy) $(all_sc_files) $(HOST_OUT_EXECUTABLES)/checkseapp
William Robertsf0e0a942012-08-27 15:41:15 -0700181 @mkdir -p $(dir $@)
William Roberts81e1f902015-06-03 21:57:47 -0700182 $(HOST_OUT_EXECUTABLES)/checkseapp -p $(PRIVATE_SEPOLICY) -o $@ $(PRIVATE_SC_FILES)
Ying Wang02fb5f32012-01-17 17:51:09 -0800183
Robert Craig8b7545b2014-03-20 09:35:08 -0400184built_sc := $(LOCAL_BUILT_MODULE)
William Roberts81e1f902015-06-03 21:57:47 -0700185all_sc_files :=
Robert Craig8b7545b2014-03-20 09:35:08 -0400186
Ying Wang02fb5f32012-01-17 17:51:09 -0800187##################################
Stephen Smalley124720a2012-04-04 10:11:16 -0400188include $(CLEAR_VARS)
Stephen Smalley37712872015-03-12 15:46:36 -0400189LOCAL_MODULE := general_seapp_contexts
190LOCAL_MODULE_CLASS := ETC
191LOCAL_MODULE_TAGS := tests
192
193include $(BUILD_SYSTEM)/base_rules.mk
194
William Roberts81e1f902015-06-03 21:57:47 -0700195all_sc_files := $(addprefix $(LOCAL_PATH)/, seapp_contexts)
Stephen Smalley37712872015-03-12 15:46:36 -0400196
197$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Roberts81e1f902015-06-03 21:57:47 -0700198$(LOCAL_BUILT_MODULE): PRIVATE_SC_FILE := $(all_sc_files)
199$(LOCAL_BUILT_MODULE): $(built_sepolicy) $(all_sc_files) $(HOST_OUT_EXECUTABLES)/checkseapp
Stephen Smalley37712872015-03-12 15:46:36 -0400200 @mkdir -p $(dir $@)
William Roberts81e1f902015-06-03 21:57:47 -0700201 $(HOST_OUT_EXECUTABLES)/checkseapp -p $(PRIVATE_SEPOLICY) -o $@ $(PRIVATE_SC_FILE)
Stephen Smalley37712872015-03-12 15:46:36 -0400202
203GENERAL_SEAPP_CONTEXTS := $(LOCAL_BUILT_MODULE)
William Roberts81e1f902015-06-03 21:57:47 -0700204all_sc_files :=
Stephen Smalley37712872015-03-12 15:46:36 -0400205
206##################################
207include $(CLEAR_VARS)
William Roberts4ee71312015-06-25 11:59:30 -0700208LOCAL_MODULE := general_seapp_neverallows
209LOCAL_MODULE_CLASS := ETC
210LOCAL_MODULE_TAGS := tests
211
212include $(BUILD_SYSTEM)/base_rules.mk
213
214$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, seapp_contexts)
215 @mkdir -p $(dir $@)
216 - $(hide) grep -ie '^neverallow' $< > $@
217
218GENERAL_SEAPP_NEVERALLOWS := $(LOCAL_BUILT_MODULE)
219
220##################################
221include $(CLEAR_VARS)
Stephen Smalley124720a2012-04-04 10:11:16 -0400222
223LOCAL_MODULE := property_contexts
224LOCAL_MODULE_CLASS := ETC
225LOCAL_MODULE_TAGS := optional
226LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
227
228include $(BUILD_SYSTEM)/base_rules.mk
229
Robert Craigd98d26e2013-01-23 14:04:50 -0500230ALL_PC_FILES := $(call build_policy, property_contexts)
231
232$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
233$(LOCAL_BUILT_MODULE): $(ALL_PC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley124720a2012-04-04 10:11:16 -0400234 @mkdir -p $(dir $@)
Robert Craigd98d26e2013-01-23 14:04:50 -0500235 $(hide) m4 -s $(ALL_PC_FILES) > $@
236 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
Stephen Smalley124720a2012-04-04 10:11:16 -0400237
Robert Craig8b7545b2014-03-20 09:35:08 -0400238built_pc := $(LOCAL_BUILT_MODULE)
239
Stephen Smalley124720a2012-04-04 10:11:16 -0400240##################################
Riley Spahnf90c41f2014-06-05 15:52:02 -0700241include $(CLEAR_VARS)
242
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400243LOCAL_MODULE := general_property_contexts
244LOCAL_MODULE_CLASS := ETC
245LOCAL_MODULE_TAGS := tests
246
Stephen Smalleyc9361732015-03-13 09:36:57 -0400247include $(BUILD_SYSTEM)/base_rules.mk
248
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400249$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Robertsda52e852015-06-27 07:22:34 -0700250$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, property_contexts) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400251 @mkdir -p $(dir $@)
252 $(hide) m4 -s $< > $@
253 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
254
255GENERAL_PROPERTY_CONTEXTS := $(LOCAL_BUILT_MODULE)
256
257##################################
258include $(CLEAR_VARS)
259
Riley Spahnf90c41f2014-06-05 15:52:02 -0700260LOCAL_MODULE := service_contexts
261LOCAL_MODULE_CLASS := ETC
262LOCAL_MODULE_TAGS := optional
263LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
264
265include $(BUILD_SYSTEM)/base_rules.mk
266
267ALL_SVC_FILES := $(call build_policy, service_contexts)
268
269$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
270$(LOCAL_BUILT_MODULE): $(ALL_SVC_FILES) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
271 @mkdir -p $(dir $@)
272 $(hide) m4 -s $(ALL_SVC_FILES) > $@
273 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
274
275built_svc := $(LOCAL_BUILT_MODULE)
276
277##################################
rpcraigb19665c2012-07-30 09:33:03 -0400278include $(CLEAR_VARS)
279
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400280LOCAL_MODULE := general_service_contexts
281LOCAL_MODULE_CLASS := ETC
282LOCAL_MODULE_TAGS := tests
283
284include $(BUILD_SYSTEM)/base_rules.mk
285
286$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $(built_sepolicy)
William Robertsda52e852015-06-27 07:22:34 -0700287$(LOCAL_BUILT_MODULE): $(addprefix $(LOCAL_PATH)/, service_contexts) $(built_sepolicy) $(HOST_OUT_EXECUTABLES)/checkfc
Stephen Smalley2e0cd5a2015-03-12 17:45:03 -0400288 @mkdir -p $(dir $@)
289 $(hide) m4 -s $< > $@
290 $(hide) $(HOST_OUT_EXECUTABLES)/checkfc -p $(PRIVATE_SEPOLICY) $@
291
292GENERAL_SERVICE_CONTEXTS := $(LOCAL_BUILT_MODULE)
293
294##################################
295include $(CLEAR_VARS)
296
Robert Craig7f2392e2013-03-27 08:35:39 -0400297LOCAL_MODULE := mac_permissions.xml
rpcraigb19665c2012-07-30 09:33:03 -0400298LOCAL_MODULE_CLASS := ETC
299LOCAL_MODULE_TAGS := optional
300LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/security
301
William Roberts2c8a55d2012-11-30 14:59:09 -0800302include $(BUILD_SYSTEM)/base_rules.mk
rpcraigb19665c2012-07-30 09:33:03 -0400303
Geremy Condracd4104e2013-03-26 18:19:12 +0000304# Build keys.conf
305mac_perms_keys.tmp := $(intermediates)/keys.tmp
William Robertsda52e852015-06-27 07:22:34 -0700306$(mac_perms_keys.tmp): $(call build_policy, keys.conf)
Geremy Condracd4104e2013-03-26 18:19:12 +0000307 @mkdir -p $(dir $@)
308 $(hide) m4 -s $^ > $@
309
Robert Craig7f2392e2013-03-27 08:35:39 -0400310ALL_MAC_PERMS_FILES := $(call build_policy, $(LOCAL_MODULE))
rpcraigb19665c2012-07-30 09:33:03 -0400311
William Robertsda52e852015-06-27 07:22:34 -0700312$(LOCAL_BUILT_MODULE): $(mac_perms_keys.tmp) $(HOST_OUT_EXECUTABLES)/insertkeys.py $(ALL_MAC_PERMS_FILES)
Geremy Condracd4104e2013-03-26 18:19:12 +0000313 @mkdir -p $(dir $@)
Nick Kralevichc3c90522013-10-25 12:25:36 -0700314 $(hide) DEFAULT_SYSTEM_DEV_CERTIFICATE="$(dir $(DEFAULT_SYSTEM_DEV_CERTIFICATE))" \
315 $(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT) -c $(TOP) $< -o $@ $(ALL_MAC_PERMS_FILES)
Geremy Condracd4104e2013-03-26 18:19:12 +0000316
Robert Craig7f2392e2013-03-27 08:35:39 -0400317mac_perms_keys.tmp :=
rpcraigb19665c2012-07-30 09:33:03 -0400318##################################
Robert Craig8b7545b2014-03-20 09:35:08 -0400319include $(CLEAR_VARS)
320
321LOCAL_MODULE := selinux_version
322LOCAL_MODULE_CLASS := ETC
323LOCAL_MODULE_TAGS := optional
324LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
325
326include $(BUILD_SYSTEM)/base_rules.mk
William Robertsda52e852015-06-27 07:22:34 -0700327$(LOCAL_BUILT_MODULE): $(built_sepolicy) $(built_pc) $(built_fc) $(built_sc) $(built_svc)
Robert Craig8b7545b2014-03-20 09:35:08 -0400328 @mkdir -p $(dir $@)
329 $(hide) echo -n $(BUILD_FINGERPRINT) > $@
330
331##################################
rpcraig47cd3962012-10-17 21:09:52 -0400332
333build_policy :=
dcashman704741a2014-07-25 19:11:52 -0700334sepolicy_build_files :=
Robert Craig8b7545b2014-03-20 09:35:08 -0400335built_sepolicy :=
336built_sc :=
337built_fc :=
338built_pc :=
Riley Spahnf90c41f2014-06-05 15:52:02 -0700339built_svc :=
Alice Chucdfb06f2012-11-01 11:33:04 -0700340
341include $(call all-makefiles-under,$(LOCAL_PATH))