NOTICE OF RELOCATION
[keystone-rtos/pcie-lld.git] / pcie_component.mk
1 #
2 # Copyright (c) 2016-2019, 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 #
33 # File: pcie_component.mk
34 #       This file is component include make file of PCIE library.
35 # List of variables set in this file and their purpose:
36 # <mod>_RELPATH        - This is the relative path of the module, typically from
37 #                        top-level directory of the package
38 # <mod>_PATH           - This is the absolute path of the module. It derives from
39 #                        absolute path of the top-level directory (set in env.mk)
40 #                        and relative path set above
41 # <mod>_INCLUDE        - This is the path that has interface header files of the
42 #                        module. This can be multiple directories (space separated)
43 # <mod>_PKG_LIST       - Names of the modules (and sub-modules) that are a part
44 #                        part of this module, including itself.
45 # <mod>_BOARD_DEPENDENCY - "yes": means the code for this module depends on
46 #                             board and the compiled obj/lib has to be kept
47 #                             under <board> directory
48 #                             "no" or "" or if this variable is not defined: means
49 #                             this module has no board dependent code and hence
50 #                             the obj/libs are not kept under <board> dir.
51 # <mod>_CORE_DEPENDENCY     - "yes": means the code for this module depends on
52 #                             core and the compiled obj/lib has to be kept
53 #                             under <core> directory
54 #                             "no" or "" or if this variable is not defined: means
55 #                             this module has no core dependent code and hence
56 #                             the obj/libs are not kept under <core> dir.
57 # <mod>_APP_STAGE_FILES     - List of source files that belongs to the module
58 #                             <mod>, but that needs to be compiled at application
59 #                             build stage (in the context of the app). This is
60 #                             primarily for link time configurations or if the
61 #                             source file is dependent on options/defines that are
62 #                             application dependent. This can be left blank or
63 #                             not defined at all, in which case, it means there
64 #                             no source files in the module <mod> that are required
65 #                             to be compiled in the application build stage.
66 #
67 ifeq ($(pcie_component_make_include), )
69 # under other list
70 drvpcie_BOARDLIST       = am65xx_evm am65xx_idk
71 drvpcie_SOCLIST         = am574x am572x am571x k2h k2k k2l k2e k2g c6678 c6657 am65xx
72 drvpcie_am574x_CORELIST = c66x a15_0 ipu1_0
73 drvpcie_am572x_CORELIST = c66x a15_0 ipu1_0
74 drvpcie_am571x_CORELIST = c66x a15_0 ipu1_0
75 drvpcie_k2h_CORELIST    = c66x a15_0
76 drvpcie_k2k_CORELIST    = c66x a15_0
77 drvpcie_k2l_CORELIST    = c66x a15_0
78 drvpcie_k2e_CORELIST    = c66x a15_0
79 drvpcie_k2g_CORELIST    = c66x a15_0
80 drvpcie_c6678_CORELIST  = c66x
81 drvpcie_c6657_CORELIST  = c66x
83 drvpcie_am65xx_CORELIST = mpu1_0 mcu1_0
85 ############################
86 # pcie package
87 # List of components included under pcie lib
88 # The components included here are built and will be part of pcie lib
89 ############################
90 pcie_LIB_LIST = pcie pcie_profile pcie_indp pcie_profile_indp
91 drvpcie_LIB_LIST = $(pcie_LIB_LIST)
93 ############################
94 # pcie examples
95 # List of examples under pcie
96 # All the tests mentioned in list are built when test target is called
97 # List below all examples for allowed values
98 ############################
99 pcie_EXAMPLE_LIST = PCIE_sample_ExampleProject PCIE_Qos_ExampleProject PCIE_sample_SMP_ExampleProject
100 drvpcie_EXAMPLE_LIST = $(pcie_EXAMPLE_LIST)
103 # PCIE Modules
106 # PCIE LIB
107 pcie_COMP_LIST = pcie
108 pcie_RELPATH = ti/drv/pcie
109 pcie_PATH = $(PDK_PCIE_COMP_PATH)
110 pcie_LIBNAME = ti.drv.pcie
111 export pcie_LIBNAME
112 pcie_LIBPATH = $(pcie_PATH)/lib
113 export pcie_LIBPATH
114 pcie_OBJPATH = $(pcie_RELPATH)/pcie
115 export pcie_OBJPATH
116 pcie_MAKEFILE = -f build/makefile.mk
117 export pcie_MAKEFILE
118 pcie_BOARD_DEPENDENCY = no
119 pcie_CORE_DEPENDENCY = no
120 pcie_SOC_DEPENDENCY = yes
121 export pcie_COMP_LIST
122 export pcie_BOARD_DEPENDENCY
123 export pcie_CORE_DEPENDENCY
124 export pcie_SOC_DEPENDENCY
125 pcie_PKG_LIST = pcie
126 export pcie_PKG_LIST
127 pcie_INCLUDE = $(pcie_PATH)
128 pcie_SOCLIST = $(drvpcie_SOCLIST)
129 export pcie_SOCLIST
130 pcie_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
131 export pcie_$(SOC)_CORELIST
133 # PCIE LIB DEVICE INDEPENDENT
134 pcie_indp_COMP_LIST = pcie_indp
135 pcie_indp_RELPATH = ti/drv/pcie
136 pcie_indp_PATH = $(PDK_PCIE_COMP_PATH)
137 pcie_indp_LIBNAME = ti.drv.pcie
138 export pcie_indp_LIBNAME
139 pcie_indp_LIBPATH = $(pcie_indp_PATH)/lib
140 export pcie_indp_LIBPATH
141 pcie_indp_OBJPATH = $(pcie_indp_RELPATH)/pcie_indp
142 export pcie_indp_OBJPATH
143 pcie_indp_MAKEFILE = -f build/makefile_indp.mk
144 export pcie_indp_MAKEFILE
145 pcie_indp_BOARD_DEPENDENCY = no
146 pcie_indp_CORE_DEPENDENCY = no
147 pcie_indp_SOC_DEPENDENCY = no
148 export pcie_indp_COMP_LIST
149 export pcie_indp_BOARD_DEPENDENCY
150 export pcie_indp_CORE_DEPENDENCY
151 export pcie_indp_SOC_DEPENDENCY
152 pcie_indp_PKG_LIST = pcie_indp
153 pcie_indp_INCLUDE = $(pcie_indp_PATH)
154 pcie_indp_SOCLIST = $(drvpcie_SOCLIST)
155 export pcie_indp_SOCLIST
156 pcie_indp_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
157 export pcie_indp_$(SOC)_CORELIST
159 # PCIE PROFILING SOC LIB
160 pcie_profile_COMP_LIST = pcie_profile
161 pcie_profile_RELPATH = ti/drv/pcie
162 pcie_profile_PATH = $(PDK_PCIE_COMP_PATH)
163 pcie_profile_LIBNAME = ti.drv.pcie.profiling
164 export pcie_profile_LIBNAME
165 pcie_profile_LIBPATH = $(pcie_profile_PATH)/lib
166 export pcie_profile_LIBPATH
167 pcie_profile_OBJPATH = $(pcie_profile_RELPATH)/pcie_profile
168 export pcie_profile_OBJPATH
169 pcie_profile_MAKEFILE = -f build/makefile_profile.mk
170 export pcie_profile_MAKEFILE
171 pcie_profile_BOARD_DEPENDENCY = no
172 pcie_profile_CORE_DEPENDENCY = no
173 pcie_profile_SOC_DEPENDENCY = yes
174 export pcie_profile_COMP_LIST
175 export pcie_profile_BOARD_DEPENDENCY
176 export pcie_profile_CORE_DEPENDENCY
177 export pcie_profile_SOC_DEPENDENCY
178 pcie_profile_PKG_LIST = pcie_profile
179 pcie_profile_INCLUDE = $(pcie_profile_PATH)
180 pcie_profile_SOCLIST = $(drvpcie_SOCLIST)
181 export pcie_profile_SOCLIST
182 pcie_profile_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
183 export pcie_profile_$(SOC)_CORELIST
185 # PCIE PROFILING SOC INDEPENDENT LIB
186 pcie_profile_indp_COMP_LIST = pcie_profile_indp
187 pcie_profile_indp_RELPATH = ti/drv/pcie
188 pcie_profile_indp_PATH = $(PDK_PCIE_COMP_PATH)
189 pcie_profile_indp_LIBNAME = ti.drv.pcie.profiling
190 export pcie_profile_indp_LIBNAME
191 pcie_profile_indp_LIBPATH = $(pcie_profile_indp_PATH)/lib
192 export pcie_profile_indp_LIBPATH
193 pcie_profile_indp_OBJPATH = $(pcie_profile_indp_RELPATH)/pcie_profile_indp
194 export pcie_profile_indp_OBJPATH
195 pcie_profile_indp_MAKEFILE = -f build/makefile_profile_indp.mk
196 export pcie_profile_indp_MAKEFILE
197 pcie_profile_indp_BOARD_DEPENDENCY = no
198 pcie_profile_indp_CORE_DEPENDENCY = no
199 pcie_profile_indp_SOC_DEPENDENCY = no
200 export pcie_profile_indp_COMP_LIST
201 export pcie_profile_indp_BOARD_DEPENDENCY
202 export pcie_profile_indp_CORE_DEPENDENCY
203 export pcie_profile_indp_SOC_DEPENDENCY
204 pcie_profile_indp_PKG_LIST = pcie_profile_indp
205 pcie_profile_indp_INCLUDE = $(pcie_profile_indp_PATH)
206 pcie_profile_indp_SOCLIST = $(drvpcie_SOCLIST)
207 export pcie_profile_indp_SOCLIST
208 pcie_profile_indp_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
209 export pcie_profile_indp_$(SOC)_CORELIST
212 # PCIE Examples
215 # PCIE basic example app
216 PCIE_sample_ExampleProject_COMP_LIST = PCIE_sample_ExampleProject
217 PCIE_sample_ExampleProject_RELPATH = ti/drv/pcie/example/sample
218 PCIE_sample_ExampleProject_PATH = $(PDK_PCIE_COMP_PATH)/example/sample
219 PCIE_sample_ExampleProject_BOARD_DEPENDENCY = yes
220 PCIE_sample_ExampleProject_CORE_DEPENDENCY = no
221 PCIE_sample_ExampleProject_XDC_CONFIGURO = yes
222 export PCIE_sample_ExampleProject_COMP_LIST
223 export PCIE_sample_ExampleProject_BOARD_DEPENDENCY
224 export PCIE_sample_ExampleProject_CORE_DEPENDENCY
225 export PCIE_sample_ExampleProject_XDC_CONFIGURO
226 PCIE_sample_ExampleProject_PKG_LIST = PCIE_sample_ExampleProject
227 PCIE_sample_ExampleProject_INCLUDE = $(PCIE_sample_ExampleProject_PATH)
228 PCIE_sample_ExampleProject_BOARDLIST = $(drvpcie_BOARDLIST)
229 export PCIE_sample_ExampleProject_BOARDLIST
230 PCIE_sample_ExampleProject_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
231 export PCIE_sample_ExampleProject_$(SOC)_CORELIST
233 # PCIE Qos basic example app
234 PCIE_Qos_ExampleProject_COMP_LIST = PCIE_Qos_ExampleProject
235 PCIE_Qos_ExampleProject_RELPATH = ti/drv/pcie/example/Qos
236 PCIE_Qos_ExampleProject_PATH = $(PDK_PCIE_COMP_PATH)/example/Qos
237 PCIE_Qos_ExampleProject_BOARD_DEPENDENCY = yes
238 PCIE_Qos_ExampleProject_CORE_DEPENDENCY = no
239 PCIE_Qos_ExampleProject_XDC_CONFIGURO = yes
240 export PCIE_Qos_ExampleProject_COMP_LIST
241 export PCIE_Qos_ExampleProject_BOARD_DEPENDENCY
242 export PCIE_Qos_ExampleProject_CORE_DEPENDENCY
243 export PCIE_Qos_ExampleProject_XDC_CONFIGURO
244 PCIE_Qos_ExampleProject_PKG_LIST = PCIE_Qos_ExampleProject
245 PCIE_Qos_ExampleProject_INCLUDE = $(PCIE_Qos_ExampleProject_PATH)
246 PCIE_Qos_ExampleProject_BOARDLIST = $(drvpcie_BOARDLIST)
247 export PCIE_Qos_ExampleProject_BOARDLIST
248 PCIE_Qos_ExampleProject_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
249 export PCIE_Qos_ExampleProject_$(SOC)_CORELIST
251 # PCIE basic example app with SMP enabled
252 PCIE_sample_SMP_ExampleProject_COMP_LIST = PCIE_sample_SMP_ExampleProject
253 PCIE_sample_SMP_ExampleProject_RELPATH = ti/drv/pcie/example/sample
254 PCIE_sample_SMP_ExampleProject_PATH = $(PDK_PCIE_COMP_PATH)/example/sample
255 PCIE_sample_SMP_ExampleProject_MAKEFILE = -f makefile SMP=enable
256 PCIE_sample_SMP_ExampleProject_BOARD_DEPENDENCY = yes
257 PCIE_sample_SMP_ExampleProject_CORE_DEPENDENCY = no
258 PCIE_sample_SMP_ExampleProject_XDC_CONFIGURO = yes
259 export PCIE_sample_SMP_ExampleProject_COMP_LIST
260 export PCIE_sample_SMP_ExampleProject_BOARD_DEPENDENCY
261 export PCIE_sample_SMP_ExampleProject_CORE_DEPENDENCY
262 export PCIE_sample_SMP_ExampleProject_XDC_CONFIGURO
263 PCIE_sample_SMP_ExampleProject_PKG_LIST = PCIE_sample_SMP_ExampleProject
264 PCIE_sample_SMP_ExampleProject_INCLUDE = $(PCIE_sample_SMP_ExampleProject_PATH)
265 PCIE_sample_SMP_ExampleProject_BOARDLIST = $(drvpcie_BOARDLIST)
266 export PCIE_sample_SMP_ExampleProject_BOARDLIST
267 PCIE_sample_SMP_ExampleProject_$(SOC)_CORELIST = $(drvpcie_$(SOC)_CORELIST)
268 export PCIE_sample_SMP_ExampleProject_$(SOC)_CORELIST
270 export drvpcie_LIB_LIST
271 export pcie_LIB_LIST
272 export pcie_EXAMPLE_LIST
273 export drvpcie_EXAMPLE_LIST
275 pcie_component_make_include := 1
276 endif