blob: da58c88e9f93778e5c34e29126f2d1f8758aa0b8 [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 Okhrimenko977b3752022-03-31 14:40:48 +030035# Add watchdog folder to build
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020036SOURCES_WATCHDOG := $(wildcard $(THIS_APP_PATH)/watchdog/*.c)
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020037
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020038# Add retartget IO implementation using pdl
Roman Okhrimenko977b3752022-03-31 14:40:48 +030039SOURCES_RETARGET_IO_PDL := $(PLATFORM_SOURCES_RETARGET_IO_PDL)
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020040
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020041# Collect dirrectories containing headers for PLATFORM
Roman Okhrimenko977b3752022-03-31 14:40:48 +030042INCLUDE_RETARGET_IO_PDL := $(PLATFORM_INCLUDE_RETARGET_IO_PDL)
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020043
44# PSOC6HAL source files
Roman Okhrimenko977b3752022-03-31 14:40:48 +030045SOURCES_HAL_MCUB := $(PLATFORM_SOURCES_HAL_MCUB)
46
47# PSOC6HAL include dirs
48INCLUDE_DIRS_HAL_MCUB := $(PLATFORM_INCLUDE_DIRS_HAL_MCUB)
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020049
50# MbedTLS source files
51SOURCES_MBEDTLS := $(wildcard $(MBEDTLS_PATH)/mbedtls/library/*.c)
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020052
53# Collected source files for libraries
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020054SOURCES_LIBS += $(SOURCES_MBEDTLS)
Roman Okhrimenko0c7aebc2020-09-02 13:37:51 +030055SOURCES_LIBS += $(SOURCES_WATCHDOG)
Roman Okhrimenko977b3752022-03-31 14:40:48 +030056
57# Collect source files for platform dependent libraries
58SOURCES_LIBS += $(SOURCES_HAL_MCUB)
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020059SOURCES_LIBS += $(SOURCES_RETARGET_IO_PDL)
Bohdan Kovalchuk77256522020-04-15 18:03:43 +030060
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020061# Watchdog related includes
62INCLUDE_DIRS_WATCHDOG := $(THIS_APP_PATH)/watchdog
63
Roman Okhrimenko977b3752022-03-31 14:40:48 +030064# MbedTLS related include directories
65INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/include
66INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/include/mbedtls
67INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/include/psa
68INCLUDE_DIRS_MBEDTLS += $(MBEDTLS_PATH)/mbedtls/library
69
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020070# Collected include directories for libraries
Roman Okhrimenko4bc28102021-02-01 19:31:41 +020071INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_WATCHDOG))
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020072INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_MBEDTLS))
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020073
Roman Okhrimenko977b3752022-03-31 14:40:48 +030074# Collect platform dependent include dirs
75INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_HAL_MCUB))
76INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_RETARGET_IO_PDL))
77
78###############################################################################
79# Print debug information about all settings used and/or set in this file
80ifeq ($(VERBOSE), 1)
81$(info #### libs.mk ####)
82$(info INCLUDE_DIRS_HAL_MCUB <-> $(INCLUDE_DIRS_HAL_MCUB))
83$(info INCLUDE_DIRS_LIBS --> $(INCLUDE_DIRS_LIBS))
84$(info INCLUDE_DIRS_MBEDTLS <-> $(INCLUDE_DIRS_MBEDTLS))
85$(info INCLUDE_DIRS_WATCHDOG <-> $(INCLUDE_DIRS_WATCHDOG))
86$(info INCLUDE_RETARGET_IO_PDL <-> $(INCLUDE_RETARGET_IO_PDL))
87$(info MBEDTLS_PATH <-- $(MBEDTLS_PATH))
88$(info PLATFORM_INCLUDE_DIRS_HAL_MCUB <-- $(PLATFORM_INCLUDE_DIRS_HAL_MCUB))
89$(info PLATFORM_INCLUDE_RETARGET_IO_PDL <-- $(PLATFORM_INCLUDE_RETARGET_IO_PDL))
90$(info PLATFORM_SOURCES_HAL_MCUB <-- $(PLATFORM_SOURCES_HAL_MCUB))
91$(info PLATFORM_SOURCES_RETARGET_IO_PDL <-- $(PLATFORM_SOURCES_RETARGET_IO_PDL))
92$(info PRJ_DIR <-- $(PRJ_DIR))
93$(info SOURCES_HAL_MCUB <-> $(SOURCES_HAL_MCUB))
94$(info SOURCES_LIBS --> $(SOURCES_LIBS))
95$(info SOURCES_MBEDTLS <-> $(SOURCES_MBEDTLS))
96$(info SOURCES_RETARGET_IO_PDL <-> $(SOURCES_RETARGET_IO_PDL))
97$(info SOURCES_WATCHDOG <-> $(SOURCES_WATCHDOG))
98$(info THIS_APP_PATH <-- $(THIS_APP_PATH))
Roman Okhrimenko89ecdac2020-02-28 17:05:55 +020099endif