Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 1 | ################################################################################ |
| 2 | # \file common_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-2021 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 | include host.mk |
| 27 | |
| 28 | ################################################################################ |
| 29 | # PDL library |
| 30 | ################################################################################ |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 31 | CY_LIBS_PATH = $(PRJ_DIR)/libs |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 32 | |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 33 | # Collect common source files for PDL |
| 34 | SOURCES_PDL := $(wildcard $(CY_LIBS_PATH)/mtb-pdl-cat1/drivers/source/*.c) |
| 35 | SOURCES_PDL += $(wildcard $(CY_LIBS_PATH)/mtb-pdl-cat1/devices/COMPONENT_CAT$(PDL_CAT_SUFFIX)/source/*.c) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 36 | |
Dovhal Artem (CSUKR CSS ICW SW FW 1) | f7a3d1b | 2022-04-01 15:07:37 +0000 | [diff] [blame^] | 37 | COMPONENT_CORE_PATH := $(PRJ_DIR)/platforms/BSP/$(FAMILY)/system/COMPONENT_$(CORE) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 38 | |
| 39 | # PDL startup related files |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 40 | SYSTEM_FILE_NAME := $(PLATFORM_SYSTEM_FILE_NAME) |
| 41 | SOURCES_PDL_SYSTEM := $(COMPONENT_CORE_PATH)/$(SYSTEM_FILE_NAME) |
| 42 | SOURCES_PDL_STARTUP := $(COMPONENT_CORE_PATH)/$(PLATFORM_SOURCES_PDL_STARTUP) |
| 43 | |
| 44 | # Collect source files for Retarget-io |
| 45 | SOURCES_RETARGET_IO := $(PLATFORM_SOURCES_RETARGET_IO) |
| 46 | |
| 47 | # HAL source files |
| 48 | SOURCES_HAL := $(PLATFORM_SOURCES_HAL) |
| 49 | |
| 50 | # Add platform folder to build |
Dovhal Artem (CSUKR CSS ICW SW FW 1) | f7a3d1b | 2022-04-01 15:07:37 +0000 | [diff] [blame^] | 51 | SOURCES_PLATFORM := $(wildcard $(PRJ_DIR)/platforms/BSP/$(FAMILY)/*.c) |
| 52 | SOURCES_PLATFORM += $(wildcard $(PRJ_DIR)/platforms/security_counter/*.c) |
| 53 | SOURCES_PLATFORM += $(wildcard $(PRJ_DIR)/platforms/security_counter/$(FAMILY)/*.c) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 54 | |
| 55 | # PDL related include directories |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 56 | INCLUDE_DIRS_PDL := $(CY_LIBS_PATH)/mtb-pdl-cat1/drivers/include |
| 57 | INCLUDE_DIRS_PDL += $(CY_LIBS_PATH)/mtb-pdl-cat1/devices/COMPONENT_CAT$(PDL_CAT_SUFFIX)/include/ip |
| 58 | INCLUDE_DIRS_PDL += $(CY_LIBS_PATH)/mtb-pdl-cat1/devices/COMPONENT_CAT$(PDL_CAT_SUFFIX)/include |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 59 | INCLUDE_DIRS_PDL += $(CY_LIBS_PATH)/mtb-pdl-cat1/devices/COMPONENT_CAT$(PDL_CAT_SUFFIX)/templates/COMPONENT_MTB |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 60 | |
Dovhal Artem (CSUKR CSS ICW SW FW 1) | f7a3d1b | 2022-04-01 15:07:37 +0000 | [diff] [blame^] | 61 | INCLUDE_DIRS_CMSIS += $(CY_LIBS_PATH)/cmsis/Core/Include |
| 62 | |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 63 | # core-libs related include directories |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 64 | INCLUDE_DIRS_CORE_LIB := $(CY_LIBS_PATH)/core-lib/include |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 65 | |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 66 | # PDL startup related files |
| 67 | INCLUDE_DIRS_PDL_STARTUP += $(COMPONENT_CORE_PATH)/HEADER_FILES |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 68 | |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 69 | # Retarget-io related include directories |
| 70 | INCLUDE_DIRS_RETARGET_IO := $(PLATFORM_INCLUDE_DIRS_RETARGET_IO) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 71 | |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 72 | # HAL include directories files |
| 73 | INCLUDE_DIRS_HAL := $(PLATFORM_INCLUDE_DIRS_HAL) |
| 74 | |
| 75 | # Include platforms folder |
Dovhal Artem (CSUKR CSS ICW SW FW 1) | f7a3d1b | 2022-04-01 15:07:37 +0000 | [diff] [blame^] | 76 | INCLUDE_DIRS_PLATFORM := $(PRJ_DIR)/platforms//BSP/$(FAMILY) |
| 77 | INCLUDE_DIRS_PLATFORM += $(PRJ_DIR)/platforms/security_counter/$(FAMILY) |
| 78 | INCLUDE_DIRS_PLATFORM += $(PRJ_DIR)/platforms/security_counter |
| 79 | INCLUDE_DIRS_PLATFORM += $(PLATFORM_INCLUDE_DIRS_PDL_STARTUP) |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 80 | |
| 81 | # Assembler startup file for platform |
| 82 | ASM_FILES_STARTUP := $(PLATFORM_STARTUP_FILE) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 83 | |
| 84 | # Collected source files for libraries |
| 85 | SOURCES_LIBS := $(SOURCES_PDL) |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 86 | SOURCES_LIBS += $(SOURCES_PDL_SYSTEM) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 87 | SOURCES_LIBS += $(SOURCES_PDL_STARTUP) |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 88 | SOURCES_LIBS += $(SOURCES_PDL_RUNTIME) |
| 89 | SOURCES_LIBS += $(SOURCES_HAL) |
| 90 | SOURCES_LIBS += $(SOURCES_RETARGET_IO) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 91 | |
| 92 | # Collected include directories for libraries |
| 93 | INCLUDE_DIRS_LIBS := $(addprefix -I,$(INCLUDE_DIRS_PDL)) |
Dovhal Artem (CSUKR CSS ICW SW FW 1) | f7a3d1b | 2022-04-01 15:07:37 +0000 | [diff] [blame^] | 94 | INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_CMSIS)) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 95 | INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_PDL_STARTUP)) |
| 96 | INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_CORE_LIB)) |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 97 | INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_HAL)) |
| 98 | INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_PLATFORM)) |
| 99 | INCLUDE_DIRS_LIBS += $(addprefix -I,$(INCLUDE_DIRS_RETARGET_IO)) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 100 | |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 101 | # Syslib files |
Dovhal Artem (CSUKR CSS ICW SW FW 1) | f7a3d1b | 2022-04-01 15:07:37 +0000 | [diff] [blame^] | 102 | ASM_FILES_PDL += $(CY_LIBS_PATH)/mtb-pdl-cat1/drivers/source/TOOLCHAIN_GCC_ARM/cy_syslib_ext.S |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 103 | |
| 104 | ASM_FILES_LIBS := $(ASM_FILES_PDL) |
| 105 | |
| 106 | # Add define for PDL version |
| 107 | DEFINES_PDL += -DPDL_VERSION=$(PDL_VERSION) |
| 108 | |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 109 | DEFINES_LIBS := $(PLATFORM_DEFINES) |
| 110 | DEFINES_LIBS += $(PLATFORM_DEFINES_LIBS) |
Roman Okhrimenko | 4bc2810 | 2021-02-01 19:31:41 +0200 | [diff] [blame] | 111 | DEFINES_LIBS += $(DEFINES_PDL) |
Roman Okhrimenko | 977b375 | 2022-03-31 14:40:48 +0300 | [diff] [blame] | 112 | DEFINES_LIBS += -DCOMPONENT_CAT1 |
| 113 | DEFINES_LIBS += -DCOMPONENT_CAT$(PDL_CAT_SUFFIX) |
| 114 | |
| 115 | ############################################################################### |
| 116 | # Print debug information about all settings used and/or set in this file |
| 117 | ifeq ($(VERBOSE), 1) |
| 118 | $(info #### common_libs.mk ####) |
| 119 | $(info ASM_FILES_LIBS --> $(ASM_FILES_LIBS)) |
| 120 | $(info ASM_FILES_PDL <-> $(ASM_FILES_PDL)) |
| 121 | $(info ASM_FILES_STARTUP --> $(ASM_FILES_STARTUP)) |
| 122 | $(info COMPONENT_CORE_PATH <-> $(COMPONENT_CORE_PATH)) |
| 123 | $(info CORE <-- $(CORE)) |
| 124 | $(info CY_LIBS_PATH <-- $(CY_LIBS_PATH)) |
| 125 | $(info DEFINES_LIBS --> $(DEFINES_LIBS)) |
| 126 | $(info DEFINES_PDL <-> $(DEFINES_PDL)) |
| 127 | $(info FAMILY <-- $(FAMILY)) |
| 128 | $(info INCLUDE_DIRS_CORE_LIB <-> $(INCLUDE_DIRS_CORE_LIB)) |
| 129 | $(info INCLUDE_DIRS_HAL <-> $(INCLUDE_DIRS_HAL)) |
| 130 | $(info INCLUDE_DIRS_LIBS --> $(INCLUDE_DIRS_LIBS)) |
| 131 | $(info INCLUDE_DIRS_PDL <-> $(INCLUDE_DIRS_PDL)) |
| 132 | $(info INCLUDE_DIRS_PDL_STARTUP <-> $(INCLUDE_DIRS_PDL_STARTUP)) |
| 133 | $(info INCLUDE_DIRS_PLATFORM <-> $(INCLUDE_DIRS_PLATFORM)) |
| 134 | $(info INCLUDE_DIRS_RETARGET_IO <-> $(INCLUDE_DIRS_RETARGET_IO)) |
| 135 | $(info PDL_CAT_SUFFIX <-- $(PDL_CAT_SUFFIX)) |
| 136 | $(info PDL_VERSION <-- $(PDL_VERSION)) |
| 137 | $(info PLATFORM_DEFINES <-- $(PLATFORM_DEFINES)) |
| 138 | $(info PLATFORM_DEFINES_LIBS <-- $(PLATFORM_DEFINES_LIBS)) |
| 139 | $(info PLATFORM_INCLUDE_DIRS_HAL <-- $(PLATFORM_INCLUDE_DIRS_HAL)) |
| 140 | $(info PLATFORM_INCLUDE_DIRS_RETARGET_IO <-- $(PLATFORM_INCLUDE_DIRS_RETARGET_IO)) |
| 141 | $(info PLATFORM_SOURCES_HAL <-- $(PLATFORM_SOURCES_HAL)) |
| 142 | $(info PLATFORM_SOURCES_PDL_STARTUP <-- $(PLATFORM_SOURCES_PDL_STARTUP)) |
| 143 | $(info PLATFORM_SOURCES_RETARGET_IO <-- $(PLATFORM_SOURCES_RETARGET_IO)) |
| 144 | $(info PLATFORM_STARTUP_FILE <-- $(PLATFORM_STARTUP_FILE)) |
| 145 | $(info PLATFORM_SYSTEM_FILE_NAME <-- $(PLATFORM_SYSTEM_FILE_NAME)) |
| 146 | $(info PRJ_DIR <-- $(PRJ_DIR)) |
| 147 | $(info SOURCES_HAL <-> $(SOURCES_HAL)) |
| 148 | $(info SOURCES_LIBS --> $(SOURCES_LIBS)) |
| 149 | $(info SOURCES_PDL <-> $(SOURCES_PDL)) |
| 150 | $(info SOURCES_PDL_RUNTIME <-- $(SOURCES_PDL_RUNTIME)) |
| 151 | $(info SOURCES_PDL_STARTUP <-> $(SOURCES_PDL_STARTUP)) |
| 152 | $(info SOURCES_PDL_SYSTEM <-> $(SOURCES_PDL_SYSTEM)) |
| 153 | $(info SOURCES_PLATFORM --> $(SOURCES_PLATFORM)) |
| 154 | $(info SOURCES_RETARGET_IO <-> $(SOURCES_RETARGET_IO)) |
| 155 | $(info SYSTEM_FILE_NAME <-> $(SYSTEM_FILE_NAME)) |
| 156 | endif |