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