Updated Makefile to build for specific platform and Target, For libs and Examples
[keystone-rtos/edma3_lld.git] / packages / component.mk
1 # File: component.mk
2 #       This file is component include make file of OMX.
4 # List of variables set in this file and their purpose:
5 # <mod>_RELPATH        - This is the relative path of the module, typically from
6 #                        top-level directory of the package
7 # <mod>_PATH           - This is the absolute path of the module. It derives from
8 #                        absolute path of the top-level directory (set in env.mk)
9 #                        and relative path set above
10 # <mod>_INCLUDE        - This is the path that has interface header files of the
11 #                        module. This can be multiple directories (space separated)
12 # <mod>_PKG_LIST       - Names of the modules (and sub-modules) that are a part
13 #                        part of this module, including itself.
14 # <mod>_PLATFORM_DEPENDENCY - "yes": means the code for this module depends on 
15 #                             platform and the compiled obj/lib has to be kept
16 #                             under <platform> directory
17 #                             "no" or "" or if this variable is not defined: means
18 #                             this module has no platform dependent code and hence
19 #                             the obj/libs are not kept under <platform> dir.
20 # <mod>_CORE_DEPENDENCY     - "yes": means the code for this module depends on 
21 #                             core and the compiled obj/lib has to be kept
22 #                             under <core> directory
23 #                             "no" or "" or if this variable is not defined: means
24 #                             this module has no core dependent code and hence
25 #                             the obj/libs are not kept under <core> dir.
26 # <mod>_APP_STAGE_FILES     - List of source files that belongs to the module
27 #                             <mod>, but that needs to be compiled at application
28 #                             build stage (in the context of the app). This is
29 #                             primarily for link time configurations or if the
30 #                             source file is dependent on options/defines that are
31 #                             application dependent. This can be left blank or
32 #                             not defined at all, in which case, it means there
33 #                             no source files in the module <mod> that are required
34 #                             to be compiled in the application build stage.
35 #
37 # List of modules under EDMA3 LLD
38 edma3_lld_COMP_LIST_c6xdsp = edma3_lld_rm edma3_lld_drv
40 # List of examples under EDMA3 LLD
41 #edma3_lld_EXAMPLES_LIST = edma3_drv_ti816x-evm_m3_example edma3_drv_c6472-evm_64p_example edma3_drv_c6472-evm_64p_be_example edma3_drv_c6748-evm_674_example \
42 #                          edma3_drv_da830-evm_674_example edma3_drv_omapl138-evm_674_example \
43 #                          edma3_drv_tci6486-evm_64p_example edma3_drv_tci6486-evm_64p_be_example edma3_drv_ti816x-evm_674_example \
44 #                          edma3_drv_ti816x_sim_sample  \
45 #                          edma3_drv_ti814x-evm_674_example edma3_drv_ti814x-evm_a8_example \
46 #                          edma3_drv_tci6608-sim_66_example edma3_drv_tci6608-sim_66_be_example  \
47 #                          edma3_drv_tci6616-sim_66_example edma3_drv_tci6616-sim_66_be_example  \
48 #                          edma3_drv_c6670-evm_66_example edma3_drv_c6670-evm_66_be_example  \
49 #                          edma3_drv_c6678-evm_66_example edma3_drv_c6678-evm_66_be_example  \
50 #                          edma3_drv_omapl138-evm_arm9_example edma3_drv_omap4-evm_64t_example
52 # List of libraries
55 ifeq ($(TARGET),)
56  ifeq ($(PLATFORM),ti816x-evm)
57 TARGET = 674 m3
58  endif
59  ifeq ($(PLATFORM),ti814x-evm)
60 TARGET = 674 a8
61  endif
62  ifeq ($(PLATFORM),c6472-evm)
63 TARGET = 64p
64  endif
65  ifeq ($(PLATFORM),c6670-evm)
66 TARGET = 66
67  endif
68  ifeq ($(PLATFORM),c6678-evm)
69 TARGET = 66
70  endif
71  ifeq ($(PLATFORM),c6748-evm)
72 TARGET = 674
73  endif
74  ifeq ($(PLATFORM),da830-evm)
75 TARGET = 674
76  endif
77  ifeq ($(PLATFORM),omap4-evm)
78 TARGET = 64t
79  endif
80  ifeq ($(PLATFORM),omapl138-evm)
81 TARGET = 674 arm9
82  endif
83  ifeq ($(PLATFORM),tci6486-evm)
84 TARGET = 64p
85  endif
86  ifeq ($(PLATFORM),tci6608-sim)
87 TARGET = 66
88  endif
89  ifeq ($(PLATFORM),tci6616-sim)
90 TARGET = 66
91  endif
92 endif
94 ifeq ($(PLATFORM),)
95 PLATFORM = ti816x-evm ti814x-evm c6472-evm c6670-evm c6678-evm c6748-evm da830-evm omapl138-evm tci6486-evm tci6608-sim tci6616-sim
96 TARGET = 674 m3 a8 64p 66 arm9
97 edma3_lld_LIBS_ALL = edma3_lld_rm_generic
98 endif
100 #Prepare library list to build from the PLATFORM and TARGET
101 ifeq ($(PLATFORM),generic)
102 edma3_lld_LIBS_ALL = edma3_lld_rm_generic
103 else
104 edma3_lld_LIBS_ALL += $(foreach plat, $(PLATFORM),$(foreach targ,$(TARGET),edma3_lld_$(plat)_$(targ)_libs))
105 endif
107 #Prepare Example list from PLATFORM and TARGET
108 ifeq ($(ENDIAN),big)
109 edma3_lld_EXAMPLES_LIST = $(foreach plat, $(PLATFORM),$(foreach targ,$(TARGET),edma3_drv_$(plat)_$(targ)_be_example))
110 else
111 edma3_lld_EXAMPLES_LIST = $(foreach plat, $(PLATFORM),$(foreach targ,$(TARGET),edma3_drv_$(plat)_$(targ)_example))
112 endif
115 # EDMA3 LLD RM - Resource manager
116 edma3_lld_rm_RELPATH = ti/sdo/edma3/rm
117 edma3_lld_rm_PATH = $(edma3_lld_PATH)/packages/$(edma3_lld_rm_RELPATH)
118 edma3_lld_rm_INCLUDE = $(edma3_lld_rm_PATH) $(edma3_lld_rm_PATH)/src
119 edma3_lld_rm_PKG_LIST = edma3_lld_rm edma3_lld_rm_sample
120 edma3_lld_rm_PLATFORM_DEPENDENCY = yes
122 edma3_lld_rm_sample_RELPATH = ti/sdo/edma3/rm/sample
123 edma3_lld_rm_sample_PATH = $(edma3_lld_PATH)/packages/$(edma3_lld_rm_sample_RELPATH)
124 edma3_lld_rm_sample_INCLUDE = $(edma3_lld_rm_sample_PATH) $(edma3_lld_rm_sample_PATH)/src
125 edma3_lld_rm_sample_PLATFORM_DEPENDENCY = yes
127 # EDMA3 LLD DRV - Driver
128 edma3_lld_drv_RELPATH = ti/sdo/edma3/drv
129 edma3_lld_drv_PATH = $(edma3_lld_PATH)/packages/$(edma3_lld_drv_RELPATH)
130 edma3_lld_drv_INCLUDE = $(edma3_lld_drv_PATH) $(edma3_lld_drv_PATH)/src
131 edma3_lld_drv_PKG_LIST = edma3_lld_drv edma3_lld_drv_sample
132 edma3_lld_drv_PLATFORM_DEPENDENCY = no
134 edma3_lld_drv_sample_RELPATH = ti/sdo/edma3/drv/sample
135 edma3_lld_drv_sample_PATH = $(edma3_lld_PATH)/packages/$(edma3_lld_drv_sample_RELPATH)
136 edma3_lld_drv_sample_INCLUDE = $(edma3_lld_drv_sample_PATH) $(edma3_lld_drv_sample_PATH)/src
137 edma3_lld_drv_sample_PLATFORM_DEPENDENCY = yes
139 # EDMA3 LLD top level
140 edma3_lld_INCLUDE = $(edma3_lld_PATH)/packages $(edma3_lld_rm_INCLUDE) $(edma3_lld_drv_INCLUDE) \
141                     $(edma3_lld_rm_sample_INCLUDE) $(edma3_lld_drv_sample_INCLUDE)
143 # EDMA3 LLD examples
144 edma3_drv_c6472-evm_64p_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6472
145 edma3_drv_c6472-evm_64p_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6472-evm_64p_example_EXAMPLES_RELPATH)
147 edma3_drv_c6472-evm_64p_be_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6472BE
148 edma3_drv_c6472-evm_64p_be_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6472-evm_64p_be_example_EXAMPLES_RELPATH)
150 edma3_drv_c6748-evm_674_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6748
151 edma3_drv_c6748-evm_674_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6748-evm_674_example_EXAMPLES_RELPATH)
153 edma3_drv_da830-evm_674_example_EXAMPLES_RELPATH = examples/edma3_driver/evmDA830
154 edma3_drv_da830-evm_674_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_da830-evm_674_example_EXAMPLES_RELPATH)
156 edma3_drv_omapl138-evm_674_example_EXAMPLES_RELPATH = examples/edma3_driver/evmOMAPL138
157 edma3_drv_omapl138-evm_674_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_omapl138-evm_674_example_EXAMPLES_RELPATH)
159 edma3_drv_omap4-evm_64t_example_EXAMPLES_RELPATH = examples/edma3_driver/evmOMAP4
160 edma3_drv_omap4-evm_64t_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_omap4-evm_64t_example_EXAMPLES_RELPATH)
162 edma3_drv_omapl138-evm_arm9_example_EXAMPLES_RELPATH = examples/edma3_driver/evmOMAPL138_ARM
163 edma3_drv_omapl138-evm_arm9_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_omapl138-evm_arm9_example_EXAMPLES_RELPATH)
165 edma3_drv_tci6486-evm_64p_example_EXAMPLES_RELPATH = examples/edma3_driver/evmTCI6486
166 edma3_drv_tci6486-evm_64p_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_tci6486-evm_64p_example_EXAMPLES_RELPATH)
168 edma3_drv_tci6486-evm_64p_be_example_EXAMPLES_RELPATH = examples/edma3_driver/evmTCI6486BE
169 edma3_drv_tci6486-evm_64p_be_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_tci6486-evm_64p_be_example_EXAMPLES_RELPATH)
171 edma3_drv_ti814x-evm_674_example_EXAMPLES_RELPATH = examples/edma3_driver/evmTI814x
172 edma3_drv_ti814x-evm_674_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_ti814x-evm_674_example_EXAMPLES_RELPATH)
174 edma3_drv_ti814x-evm_a8_example_EXAMPLES_RELPATH = examples/edma3_driver/evmTI814x_ARM
175 edma3_drv_ti814x-evm_a8_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_ti814x-evm_a8_example_EXAMPLES_RELPATH)
177 edma3_drv_ti816x-evm_674_example_EXAMPLES_RELPATH = examples/edma3_driver/evmTI816x
178 edma3_drv_ti816x-evm_674_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_ti816x-evm_674_example_EXAMPLES_RELPATH)
180 edma3_drv_ti816x-evm_m3_example_EXAMPLES_RELPATH = examples/edma3_driver/evmTI816x_ARM
181 edma3_drv_ti816x-evm_m3_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_ti816x-evm_m3_example_EXAMPLES_RELPATH)
183 edma3_drv_tci6608-sim_66_example_EXAMPLES_RELPATH = examples/edma3_driver/simTCI6608
184 edma3_drv_tci6608-sim_66_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_tci6608-sim_66_example_EXAMPLES_RELPATH)
186 edma3_drv_tci6608-sim_66_be_example_EXAMPLES_RELPATH = examples/edma3_driver/simTCI6608BE
187 edma3_drv_tci6608-sim_66_be_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_tci6608-sim_66_be_example_EXAMPLES_RELPATH)
189 edma3_drv_tci6616-sim_66_example_EXAMPLES_RELPATH = examples/edma3_driver/simTCI6616
190 edma3_drv_tci6616-sim_66_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_tci6616-sim_66_example_EXAMPLES_RELPATH)
192 edma3_drv_tci6616-sim_66_be_example_EXAMPLES_RELPATH = examples/edma3_driver/simTCI6616BE
193 edma3_drv_tci6616-sim_66_be_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_tci6616-sim_66_be_example_EXAMPLES_RELPATH)
195 edma3_drv_c6670-evm_66_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6670
196 edma3_drv_c6670-evm_66_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6670-evm_66_example_EXAMPLES_RELPATH)
198 edma3_drv_c6670-evm_66_be_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6670BE
199 edma3_drv_c6670-evm_66_be_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6670-evm_66_be_example_EXAMPLES_RELPATH)
201 edma3_drv_c6678-evm_66_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6678
202 edma3_drv_c6678-evm_66_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6678-evm_66_example_EXAMPLES_RELPATH)
204 edma3_drv_c6678-evm_66_be_example_EXAMPLES_RELPATH = examples/edma3_driver/evm6678BE
205 edma3_drv_c6678-evm_66_be_example_EXAMPLES_PATH = $(edma3_lld_PATH)/$(edma3_drv_c6678-evm_66_be_example_EXAMPLES_RELPATH)
206 # Nothing beyond this point