]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/board/build/makefile.mk
emac icssg - Enable firmware build for mcu1_0
[processor-sdk/pdk.git] / packages / ti / board / build / makefile.mk
1 #
2 # Copyright (c) 2016-2020, Texas Instruments Incorporated
3 # All rights reserved.
4 #
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
7 # are met:
8 #
9 # *  Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 #
12 # *  Redistributions in binary form must reproduce the above copyright
13 #    notice, this list of conditions and the following disclaimer in the
14 #    documentation and/or other materials provided with the distribution.
15 #
16 # *  Neither the name of Texas Instruments Incorporated nor the names of
17 #    its contributors may be used to endorse or promote products derived
18 #    from this software without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #
34 include $(PDK_INSTALL_PATH)/ti/build/Rules.make
36 MODULE_NAME = board
38 SRCDIR = . src
39 INCDIR = . src
41 PACKAGE_SRCS_COMMON =
43 ifeq ($(BOARD),$(filter $(BOARD),evmAM335x icev2AM335x iceAMIC110 skAM335x bbbAM335x evmAM437x idkAM437x skAM437x evmAM572x idkAM571x idkAM572x evmK2H evmK2K evmK2E evmK2L evmK2G iceK2G evmC6678 evmC6657 evmOMAPL137 lcdkOMAPL138 idkAM574x am65xx_evm am65xx_idk am64x_evm am64x_svb tpr12_evm tpr12_qt))
44 # Common source files across all platforms and cores
45 SRCS_COMMON += board.c
46 endif
48 ifeq ($(BOARD),$(filter $(BOARD),evmAM335x icev2AM335x iceAMIC110 skAM335x bbbAM335x evmAM437x idkAM437x skAM437x evmAM572x idkAM571x idkAM572x evmK2H evmK2K evmK2E evmK2L iceK2G evmC6678 evmC6657 evmOMAPL137 lcdkOMAPL138 idkAM574x evmDRA72x evmDRA75x evmDRA78x evmTDAxx j721e_sim j721e_qt j7200_evm tpr12_evm tpr12_qt))
49 # Board stub function enabled for all the boards except evmK2G
50 SRCS_COMMON += boardStub.c
51 endif
53 ifeq ($(BOARD),$(filter $(BOARD), evmAM335x icev2AM335x iceAMIC110 skAM335x bbbAM335x evmAM437x idkAM437x skAM437x))
54 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
55 include $(PDK_BOARD_COMP_PATH)/src/src_files_starterware.mk
56 ifeq ($(BOARD),$(filter $(BOARD), icev2AM335x evmAM437x))
57 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
58 endif
59 endif
61 ifeq ($(BOARD),$(filter $(BOARD), am65xx_evm am65xx_idk))
62 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
63 include $(PDK_BOARD_COMP_PATH)/src/evmKeystone3/src_files_evmKeystone3.mk
64 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
65 include $(PDK_BOARD_COMP_PATH)/src/devices/src_files_devices.mk
66 include $(PDK_BOARD_COMP_PATH)/src/src_files_lld.mk
67 endif
69 ifeq ($(BOARD),$(filter $(BOARD), j721e_sim j721e_qt))
70 include $(PDK_BOARD_COMP_PATH)/src/j721e_sim/src_files_j721e_sim.mk
71 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
72 PACKAGE_SRCS_COMMON += src/j721e_sim
73 endif
75 ifeq ($(BOARD),$(filter $(BOARD), j721e_evm))
76 CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
77 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
78 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
79 include $(PDK_BOARD_COMP_PATH)/src/devices/src_files_devices.mk
80 PACKAGE_SRCS_COMMON += src/$(BOARD)
81 PACKAGE_SRCS_COMMON += src/devices
82 endif
84 ifeq ($(BOARD),$(filter $(BOARD), j7200_evm))
85 CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
86 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
87 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
88 include $(PDK_BOARD_COMP_PATH)/src/devices/src_files_devices.mk
89 PACKAGE_SRCS_COMMON += src/$(BOARD)
90 PACKAGE_SRCS_COMMON += src/devices
91 endif
93 ifeq ($(BOARD),$(filter $(BOARD), tpr12_evm tpr12_qt))
94 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
95 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
96 PACKAGE_SRCS_COMMON += src/$(BOARD)
97 endif
99 ifeq ($(BOARD),$(filter $(BOARD), evmAM572x idkAM571x idkAM572x idkAM574x))
100 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
101 include $(PDK_BOARD_COMP_PATH)/src/src_files_lld.mk
102 endif
104 ifeq ($(BOARD),$(filter $(BOARD), evmK2E evmK2L evmK2G iceK2G evmC6678 evmC6657))
105 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
106 include $(PDK_BOARD_COMP_PATH)/src/evmKeystone/src_files_evmKeystone.mk
107 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
108 CFLAGS_LOCAL_$(BOARD) += -D$(BOARD)=$(BOARD)
109 endif
111 ifeq ($(BOARD),$(filter $(BOARD), evmK2H evmK2K))
112 include $(PDK_BOARD_COMP_PATH)/src/evmK2H/src_files_evmK2H.mk
113 include $(PDK_BOARD_COMP_PATH)/src/evmKeystone/src_files_evmKeystone.mk
114 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
115 CFLAGS_LOCAL_$(BOARD) += -DevmK2H=evmK2H
116 endif
118 ifeq ($(BOARD),$(filter $(BOARD), tda2xx-evm tda2ex-evm tda3xx-evm))
119 SRCDIR += src/evmTDAxx
120 INCDIR += src/evmTDAxx
121 SRCS_COMMON += evmTDAxx.c
122 PACKAGE_SRCS_COMMON += src/evmTDAxx
123 CFLAGS_LOCAL_$(BOARD) += -D$(BOARD)=$(BOARD)
124 endif
126 ifeq ($(BOARD),$(filter $(BOARD), evmDRA72x evmDRA75x evmDRA78x))
127 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
128 SRCDIR += src/$(BOARD) src/evmAM572x/device
129 INCDIR += src/$(BOARD) src/evmAM572x/device
130 SRCS_COMMON += $(BOARD).c enet_phy.c
131 PACKAGE_SRCS_COMMON += src/$(BOARD) src/evmAM572x/device
132 CFLAGS_LOCAL_$(BOARD) += -D$(BOARD)=$(BOARD)
133 endif
136 ifeq ($(BOARD),$(filter $(BOARD), evmOMAPL137))
137 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
138 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
139 CFLAGS_LOCAL_$(BOARD) += -D$(BOARD)=$(BOARD)
140 endif
142 ifeq ($(BOARD),$(filter $(BOARD), lcdkOMAPL138))
143 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
144 CFLAGS_LOCAL_$(BOARD) += -D$(BOARD)=$(BOARD)
145 endif
147 ifeq ($(BOARD),$(filter $(BOARD), am64x_evm am64x_svb))
148 CFLAGS_LOCAL_COMMON = $(PDK_CFLAGS)
149 include $(PDK_BOARD_COMP_PATH)/src/$(BOARD)/src_files_$(BOARD).mk
150 include $(PDK_BOARD_COMP_PATH)/src/flash/src_files_flash.mk
151 PACKAGE_SRCS_COMMON += src/$(BOARD)
152 endif
154 # List all the external components/interfaces, whose interface header files
155 #  need to be included for this component
156 INCLUDE_EXTERNAL_INTERFACES = pdk edma
159 # List all the internal submodules whose interface header files
160 # need to be included for this module
161 INCLUDE_INTERNAL_INTERFACES = csl
163 PACKAGE_SRCS_COMMON += makefile board_component.mk board.h
164 PACKAGE_SRCS_COMMON += board_cfg.h build
165 PACKAGE_SRCS_COMMON += config_mk.bld package.bld package.xdc package.xs
166 PACKAGE_SRCS_COMMON += Settings.xdc.xdt utils.xs
167 ifeq ($(BOARD),$(filter $(BOARD), j721e_sim j721e_qt j721e_evm j7200_evm tpr12_evm tpr12_qt))
168 PACKAGE_SRCS_COMMON += src/board.c src/boardStub.c src/Module.xs
169 PACKAGE_SRCS_COMMON += src/src_files_lld.mk src/src_files_starterware.mk
170 else
171 PACKAGE_SRCS_COMMON += src
172 endif
174 # Include common make files
175 ifeq ($(MAKERULEDIR), )
176 #Makerule path not defined, define this and assume relative path from ROOTDIR
177   MAKERULEDIR := $(ROOTDIR)/ti/build/makerules
178   export MAKERULEDIR
179 endif
180 include $(MAKERULEDIR)/common.mk
182 # OBJs and libraries are built by using rule defined in rules_<target>.mk
183 #     and need not be explicitly specified here
185 # Nothing beyond this point