Home | History | Annotate | Download | only in libcore
      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