blob: 096abe1ba322861480105fd5ed2b6e83e6a11f1c [file] [log] [blame]
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +02001################################################################################
2# \file libs.mk
3# \version 1.0
4#
5# \brief
6# Makefile to describe libraries needed for Cypress MCUBoot based applications.
7#
8################################################################################
9# \copyright
10# Copyright 2018-2019 Cypress Semiconductor Corporation
11# SPDX-License-Identifier: Apache-2.0
12#
13# Licensed under the Apache License, Version 2.0 (the "License");
14# you may not use this file except in compliance with the License.
15# You may obtain a copy of the License at
16#
17# http://www.apache.org/licenses/LICENSE-2.0
18#
19# Unless required by applicable law or agreed to in writing, software
20# distributed under the License is distributed on an "AS IS" BASIS,
21# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22# See the License for the specific language governing permissions and
23# limitations under the License.
24################################################################################
25
26################################################################################
27# PDL library
28################################################################################
Roman Okhrimenko977b3752022-03-31 14:40:48 +030029
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020030PDL_VERSION = 121
Bohdan Kovalchuk77256522020-04-15 18:03:43 +030031
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020032THIS_APP_PATH = $(PRJ_DIR)/libs
33MBEDTLS_PATH = $(PRJ_DIR)/../../ext
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020034
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030035ifneq ($(FAMILY), XMC7000)
Roman Okhrimenko977b3752022-03-31 14:40:48 +030036# Add watchdog folder to build
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020037SOURCES_WATCHDOG := $(wildcard $(THIS_APP_PATH)/watchdog/*.c)
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030038# Watchdog related includes
39INCLUDE_DIRS_WATCHDOG := $(THIS_APP_PATH)/watchdog
40endif
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020041
42# PSOC6HAL source files
Roman Okhrimenko977b3752022-03-31 14:40:48 +030043SOURCES_HAL_MCUB := $(PLATFORM_SOURCES_HAL_MCUB)
44
45# PSOC6HAL include dirs
46INCLUDE_DIRS_HAL_MCUB := $(PLATFORM_INCLUDE_DIRS_HAL_MCUB)
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020047
48# MbedTLS source files
49SOURCES_MBEDTLS := $(wildcard $(MBEDTLS_PATH)/mbedtls/library/*.c)
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020050
51# Collected source files for libraries
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020052SOURCES_LIBS += $(SOURCES_MBEDTLS)
Roman Okhrimenko0c7aebc2020-09-02 13:37:51 +030053SOURCES_LIBS += $(SOURCES_WATCHDOG)
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030054SOURCES_LIBS += $(SOURCES_FIH)
Roman Okhrimenko977b3752022-03-31 14:40:48 +030055
56# Collect source files for platform dependent libraries
57SOURCES_LIBS += $(SOURCES_HAL_MCUB)
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020058
Roman Okhrimenko977b3752022-03-31 14:40:48 +030059# MbedTLS related include directories
Dovhal Artem (CSUKR CSS ICW SW FW 1)f7a3d1b2022-04-01 15:07:37 +000060ifeq ($(USE_CRYPTO_HW), 1)
Roman Okhrimenko883cb5b2024-03-28 17:22:33 +020061ifeq ($(FAMILY), CYW20829)
Dovhal Artem (CSUKR CSS ICW SW FW 1)f7a3d1b2022-04-01 15:07:37 +000062# Override mbedtls/compat-2.x.h for Cryptolite CBUS workaround
63INCLUDE_DIRS_MBEDTLS += $(PRJ_DIR)/platforms/crypto/CYW20829
64endif
65endif
Roman Okhrimenko977b3752022-03-31 14:40:48 +030066INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/include
67INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/include/mbedtls
68INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/include/psa
69INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/library
70
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020071# Collected include directories for libraries
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020072INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_WATCHDOG))
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020073INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_MBEDTLS))
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030074INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_FIH))
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020075
Roman Okhrimenko977b3752022-03-31 14:40:48 +030076# Collect platform dependent include dirs
77INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_HAL_MCUB))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030078
79###############################################################################
80# Print debug information about all settings used and/or set in this file
81ifeq ($(VERBOSE), 1)
82$(info #### libs.mk ####)
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030083$(info INCLUDE_DIRS_FIH <-> $(INCLUDE_DIRS_FIH))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030084$(info INCLUDE_DIRS_HAL_MCUB <-> $(INCLUDE_DIRS_HAL_MCUB))
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030085$(info INCLUDE_DIRS_LIBS <-> $(INCLUDE_DIRS_LIBS))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030086$(info INCLUDE_DIRS_MBEDTLS <-> $(INCLUDE_DIRS_MBEDTLS))
87$(info INCLUDE_DIRS_WATCHDOG <-> $(INCLUDE_DIRS_WATCHDOG))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030088$(info MBEDTLS_PATH <-- $(MBEDTLS_PATH))
Dovhal Artem (CSUKR CSS ICW SW FW 1)f7a3d1b2022-04-01 15:07:37 +000089$(info PLATFORM <-- $(PLATFORM))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030090$(info PLATFORM_INCLUDE_DIRS_HAL_MCUB <-- $(PLATFORM_INCLUDE_DIRS_HAL_MCUB))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030091$(info PLATFORM_SOURCES_HAL_MCUB <-- $(PLATFORM_SOURCES_HAL_MCUB))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030092$(info PRJ_DIR <-- $(PRJ_DIR))
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030093$(info SOURCES_FIH <-> $(SOURCES_FIH))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030094$(info SOURCES_HAL_MCUB <-> $(SOURCES_HAL_MCUB))
Roman Okhrimenkodc0ca082023-06-21 20:49:51 +030095$(info SOURCES_LIBS <-> $(SOURCES_LIBS))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030096$(info SOURCES_MBEDTLS <-> $(SOURCES_MBEDTLS))
Roman Okhrimenko977b3752022-03-31 14:40:48 +030097$(info SOURCES_WATCHDOG <-> $(SOURCES_WATCHDOG))
98$(info THIS_APP_PATH <-- $(THIS_APP_PATH))
Dovhal Artem (CSUKR CSS ICW SW FW 1)f7a3d1b2022-04-01 15:07:37 +000099$(info USE_CRYPTO_HW <-- $(USE_CRYPTO_HW))
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +0200100endif