1347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# -*- mode: makefile -*-
2347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# Copyright (C) 2011 The Android Open Source Project
3347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom#
4347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# Licensed under the Apache License, Version 2.0 (the "License");
5347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# you may not use this file except in compliance with the License.
6347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# You may obtain a copy of the License at
7347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom#
8347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom#      http://www.apache.org/licenses/LICENSE-2.0
9347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom#
10347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# Unless required by applicable law or agreed to in writing, software
11347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# distributed under the License is distributed on an "AS IS" BASIS,
12347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# See the License for the specific language governing permissions and
14347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# limitations under the License.
15347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
16347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom#
17347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# Definitions for installing Certificate Authority (CA) certificates
18347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom#
19347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
20347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromdefine all-files-under
21347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom$(patsubst ./%,%, \
22347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom  $(shell cd $(LOCAL_PATH) ; \
23347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom          find $(1) -type f) \
24347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom )
25347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromendef
26347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
27347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# $(1): module name
28347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# $(2): source file
29347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# $(3): destination directory
30347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromdefine include-prebuilt-with-destination-directory
31347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrominclude $$(CLEAR_VARS)
32347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromLOCAL_MODULE := $(1)
3373d3e262ecf514ef17f47da335fdad899aecc3dcElliott HughesLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/CaCerts.mk
34347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromLOCAL_MODULE_STEM := $(notdir $(2))
35347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromLOCAL_MODULE_TAGS := optional
36347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromLOCAL_MODULE_CLASS := ETC
37347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromLOCAL_MODULE_PATH := $(3)
38347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromLOCAL_SRC_FILES := $(2)
39347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrominclude $$(BUILD_PREBUILT)
40347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromendef
41347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
42347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts := $(call all-files-under,luni/src/main/files/cacerts)
43347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
44347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts_target_directory := $(TARGET_OUT)/etc/security/cacerts
45347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom$(foreach cacert, $(cacerts), $(eval $(call include-prebuilt-with-destination-directory,target-cacert-$(notdir $(cacert)),$(cacert),$(cacerts_target_directory))))
46347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts_target := $(addprefix $(cacerts_target_directory)/,$(foreach cacert,$(cacerts),$(notdir $(cacert))))
47347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom.PHONY: cacerts_target
48347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts: $(cacerts_target)
49347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
50347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom# This is so that build/target/product/core.mk can use cacerts in PRODUCT_PACKAGES
51347b2a604114602da9bc4ae040278f74d11c2f51Brian CarlstromALL_MODULES.cacerts.INSTALLED := $(cacerts_target)
52347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom
53347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromifeq ($(WITH_HOST_DALVIK),true)
54347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts_host_directory := $(HOST_OUT)/etc/security/cacerts
55347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom$(foreach cacert, $(cacerts), $(eval $(call include-prebuilt-with-destination-directory,host-cacert-$(notdir $(cacert)),$(cacert),$(cacerts_host_directory))))
56347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromendif
57347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts_host := $(addprefix $(cacerts_host_directory)/,$(foreach cacert,$(cacerts),$(notdir $(cacert))))
58347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstrom.PHONY: cacerts-host
59347b2a604114602da9bc4ae040278f74d11c2f51Brian Carlstromcacerts-host: $(cacerts_host)
60