1 # -*- mode: makefile -*- 2 # Copyright (C) 2011 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 # 17 # Definitions for installing Certificate Authority (CA) certificates 18 # 19 20 define all-files-under 21 $(patsubst ./%,%, \ 22 $(shell cd $(LOCAL_PATH) ; \ 23 find $(1) -type f) \ 24 ) 25 endef 26 27 # $(1): module name 28 # $(2): source file 29 # $(3): destination directory 30 define include-prebuilt-with-destination-directory 31 include $$(CLEAR_VARS) 32 LOCAL_MODULE := $(1) 33 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/CaCerts.mk 34 LOCAL_MODULE_STEM := $(notdir $(2)) 35 LOCAL_MODULE_TAGS := optional 36 LOCAL_MODULE_CLASS := ETC 37 LOCAL_MODULE_PATH := $(3) 38 LOCAL_SRC_FILES := $(2) 39 include $$(BUILD_PREBUILT) 40 endef 41 42 cacerts := $(call all-files-under,luni/src/main/files/cacerts) 43 44 cacerts_target_directory := $(TARGET_OUT)/etc/security/cacerts 45 $(foreach cacert, $(cacerts), $(eval $(call include-prebuilt-with-destination-directory,target-cacert-$(notdir $(cacert)),$(cacert),$(cacerts_target_directory)))) 46 cacerts_target := $(addprefix $(cacerts_target_directory)/,$(foreach cacert,$(cacerts),$(notdir $(cacert)))) 47 .PHONY: cacerts_target 48 cacerts: $(cacerts_target) 49 50 # This is so that build/target/product/core.mk can use cacerts in PRODUCT_PACKAGES 51 ALL_MODULES.cacerts.INSTALLED := $(cacerts_target) 52 53 ifeq ($(WITH_HOST_DALVIK),true) 54 cacerts_host_directory := $(HOST_OUT)/etc/security/cacerts 55 $(foreach cacert, $(cacerts), $(eval $(call include-prebuilt-with-destination-directory,host-cacert-$(notdir $(cacert)),$(cacert),$(cacerts_host_directory)))) 56 endif 57 cacerts_host := $(addprefix $(cacerts_host_directory)/,$(foreach cacert,$(cacerts),$(notdir $(cacert)))) 58 .PHONY: cacerts-host 59 cacerts-host: $(cacerts_host) 60