1#
2# Copyright (C) 2016 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
17LOCAL_DIR := $(GET_LOCAL_DIR)
18
19MODULE := $(LOCAL_DIR)
20
21MANIFEST := $(LOCAL_DIR)/manifest.json
22
23MODULE_CONSTANTS := $(LOCAL_DIR)/hwcrypto_consts.json
24
25MODULE_INCLUDES := $(LOCAL_DIR)/include
26
27MODULE_SRCS := \
28	$(LOCAL_DIR)/main.c \
29	$(LOCAL_DIR)/hwkey_srv.c \
30
31ifeq (true,$(call TOBOOL,$(WITH_FAKE_HWRNG)))
32MODULE_SRCS += $(LOCAL_DIR)/hwrng_srv_fake_provider.c
33endif
34
35ifeq (true,$(call TOBOOL,$(WITH_FAKE_HWKEY)))
36MODULE_SRCS += $(LOCAL_DIR)/hwkey_srv_fake_provider.c
37MODULE_SRCS += $(LOCAL_DIR)/hwrng_srv.c
38MODULE_DEFINES += WITH_HWCRYPTO_HWRNG=1
39endif
40
41MODULE_LIBRARY_DEPS := \
42	external/boringssl \
43	trusty/user/base/interface/hwaes \
44	trusty/user/base/interface/hwrng \
45	trusty/user/base/interface/hwkey \
46	trusty/user/base/lib/libc-trusty \
47	trusty/user/base/lib/system_state \
48	trusty/user/base/lib/tipc \
49
50ifneq ($(APPLOADER_SIGN_PUBLIC_KEY_0_FILE),)
51MODULE_COMPILEFLAGS += \
52	-DAPPLOADER_SIGN_PUBLIC_KEY_0_FILE=\"$(APPLOADER_SIGN_PUBLIC_KEY_0_FILE)\"
53ifeq (true,$(call TOBOOL,$(APPLOADER_SIGN_KEY_0_UNLOCKED_ONLY)))
54MODULE_COMPILEFLAGS += \
55	-DAPPLOADER_SIGN_KEY_0_UNLOCKED_ONLY=1
56endif
57endif
58
59ifneq ($(APPLOADER_SIGN_PUBLIC_KEY_1_FILE),)
60MODULE_COMPILEFLAGS += \
61	-DAPPLOADER_SIGN_PUBLIC_KEY_1_FILE=\"$(APPLOADER_SIGN_PUBLIC_KEY_1_FILE)\"
62ifeq (true,$(call TOBOOL,$(APPLOADER_SIGN_KEY_1_UNLOCKED_ONLY)))
63MODULE_COMPILEFLAGS += \
64	-DAPPLOADER_SIGN_KEY_1_UNLOCKED_ONLY=1
65endif
66endif
67
68ifneq ($(APPLOADER_ENCRYPT_KEY_0_FILE),)
69MODULE_COMPILEFLAGS += \
70	-DAPPLOADER_ENCRYPT_KEY_0_FILE=\"$(APPLOADER_ENCRYPT_KEY_0_FILE)\"
71endif
72
73ifneq ($(APPLOADER_ENCRYPT_KEY_1_FILE),)
74MODULE_COMPILEFLAGS += \
75	-DAPPLOADER_ENCRYPT_KEY_1_FILE=\"$(APPLOADER_ENCRYPT_KEY_1_FILE)\"
76endif
77
78ifeq (true,$(call TOBOOL,$(WITH_FAKE_KEYBOX)))
79MODULE_DEFINES += WITH_FAKE_KEYBOX
80include $(LOCAL_DIR)/keybox/rules.mk
81endif
82
83include make/trusted_app.mk
84