2 PDK_INSTALL_PATH ?= $(abspath ../../)
4 include $(PDK_INSTALL_PATH)/ti/build/Rules.make
6 XDC = $(XDC_INSTALL_PATH)/xdc
8 ifeq ($(LIMIT_BOARDS),)
9 BOARD_LIST_ALL = evmDRA72x evmDRA75x evmDRA78x evmAM572x idkAM572x idkAM571x idkAM574x
10 BOARD_LIST_ALL += $(BOARD_LIST_J6_TDA)
11 BOARD_LIST_ALL += $(BOARD_LIST_J7_TDA)
12 BOARD_LIST_ALL += $(BOARD_LIST_TPR12)
13 BOARD_LIST_ALL += $(BOARD_LIST_AWR294X)
14 BOARD_LIST_ALL += am64x_evm am64x_svb
15 else
16 # If LIMIT_BOARDS is defined use it
17 BOARD_LIST_ALL = $(LIMIT_BOARDS)
18 endif
20 ifeq ($(LIMIT_CORES),)
21 #Limit core list based on board
22 ifeq ($(BOARD),$(filter $(BOARD), j721e_evm))
23 CORE_LIST_ALL = $(CORE_LIST_j721e)
24 endif
25 ifeq ($(BOARD),$(filter $(BOARD), j7200_evm))
26 CORE_LIST_ALL = $(CORE_LIST_j7200)
27 endif
28 ifeq ($(BOARD),$(filter $(BOARD), j721s2_evm))
29 CORE_LIST_ALL = $(CORE_LIST_j721s2)
30 endif
31 ifeq ($(BOARD),$(filter $(BOARD), j784s4_evm))
32 CORE_LIST_ALL = $(CORE_LIST_j784s4)
33 endif
34 ifeq ($(BOARD),$(filter $(BOARD), am65xx_evm am65xx_idk))
35 CORE_LIST_ALL = $(CORE_LIST_am65xx)
36 endif
37 ifeq ($(BOARD),$(filter $(BOARD), $(BOARD_LIST_J6_TDA)))
38 CORE_LIST_ALL = a15_0 ipu1_0 ipu1_1 ipu2_0 ipu2_1 c66x c66xdsp_1 c66xdsp_2 arp32_1 arp32_2 arp32_3 arp32_4 arm9_0 c674x
39 CORE_LIST_ALL += mcu1_0 mcu1_1 mpu1_0 mpu1_1
40 endif
41 ifeq ($(BOARD),$(filter $(BOARD), tpr12_evm tpr12_qt))
42 CORE_LIST_ALL = $(CORE_LIST_tpr12)
43 endif
44 ifeq ($(BOARD),$(filter $(BOARD), awr294x_evm))
45 CORE_LIST_ALL = $(CORE_LIST_awr294x)
46 endif
47 ifeq ($(BOARD),$(filter $(BOARD), am64x_evm am64x_svb))
48 CORE_LIST_ALL = $(CORE_LIST_am64x)
49 endif
50 else
51 # If LIMIT_CORES is defined use it
52 CORE_LIST_ALL = $(LIMIT_CORES)
53 endif
55 BUILD_PROFILE_LIST_ALL ?= release debug
57 # Variables used
60 #if COMP is not defined, the build comprises of all modules in the ti/build/component.mk
61 ifeq ($(COMP),)
63 FINAL_LIB_LIST = $(pdk_LIB_LIST)
64 FINAL_APP_LIB_LIST = $(pdk_APP_LIB_LIST)
65 FINAL_EXAMPLE_LIST = $(pdk_EXAMPLE_LIST)
66 FINAL_FIRM_LIST = $(pdk_FIRM_LIST)
67 FINAL_PKG_LIST_ALL = $(pdk_PKG_LIST_ALL)
68 FINAL_DUP_EXAMPLE_LIST = $(pdk_DUP_EXAMPLE_LIST)
69 FINAL_UTILS_LIST_ALL = $(pdk_UTILS_LIST)
70 FINAL_EXAMPLE_LIST_INFO=$(pdk_EXAMPLE_LIST)
72 else
73 #if COMP is defined, this is built from within a component, eg) ti/drv/mmcsd> make all
74 # In this case only that module's LIB,APPLIB, EXAMPLES should be built
76 FINAL_LIB_LIST =$($(COMP)_LIB_LIST)
77 FINAL_APP_LIB_LIST = $($(COMP)_APP_LIB_LIST)
78 FINAL_EXAMPLE_LIST=$($(COMP)_EXAMPLE_LIST)
79 FINAL_FIRM_LIST = $($(COMP)_FIRM_LIST)
80 FINAL_DUP_EXAMPLE_LIST = $($(COMP)_DUP_EXAMPLE_LIST)
81 FINAL_PKG_LIST_ALL=$($(COMP)_LIB_LIST) $($(COMP)_APP_LIB_LIST) $($(COMP)_EXAMPLE_LIST) $($(COMP)_FIRM_LIST)
82 FINAL_UTILS_LIST_ALL = $($(COMP)_UTILS_LIST)
83 FINAL_EXAMPLE_LIST_INFO=$($(COMP)_EXAMPLE_LIST)
85 endif
87 # Consolidated list of targets to be built
88 FINAL_LIB_LIST_CLEAN = $(addsuffix _clean, $(FINAL_LIB_LIST))
89 FINAL_APP_LIB_LIST_CLEAN = $(addsuffix _clean, $(FINAL_APP_LIB_LIST))
90 FINAL_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $(FINAL_EXAMPLE_LIST))
91 FINAL_FIRM_LIST_CLEAN = $(addsuffix _clean, $(FINAL_FIRM_LIST))
92 FINAL_DUP_EXAMPLE_LIST_CLEAN = $(addsuffix _clean, $(FINAL_DUP_EXAMPLE_LIST))
93 FINAL_DUP_EXAMPLE_LIST_PACKAGE = $(addsuffix _package, $(FINAL_DUP_EXAMPLE_LIST))
94 FINAL_PKG_LIST_PACKAGE = $(addsuffix _package, $(FINAL_PKG_LIST_ALL))
95 FINAL_PKG_LIST_ALL_CLEAN = $(addsuffix _clean, $(FINAL_PKG_LIST_ALL))
96 FINAL_UTILS_LIST_CLEAN = $(addsuffix _clean, $(FINAL_UTILS_LIST_ALL))
97 FINAL_PKG_LIST_INFO = $(addsuffix _info, $(FINAL_EXAMPLE_LIST_INFO))
98 FINAL_DUP_EXAMPLE_INFO = $(addsuffix _info, $(FINAL_DUP_EXAMPLE_LIST))
100 # Create the _has_dep target for the <module> if _DEPENDS_ON is defined in the <module>_component.mk
101 # For example, CREATE_DEP_TARGETS(nimu_icssg,FINAL_LIB_LIST) does the following:
102 # 1) creates nimu_icssg_has_dep: emac_has_dep (as 'nimu_icssg_DEPENDS_ON = emac' is mentioned in nimu_component.mk)
103 # 2) FINAL_LIB_LIST_DEP_LIST += emac (This is to take emac out of the FINAL_LIB_LIST_HAS_DEP because it will be built by nimu_icssg_has_dep
104 # However CREATE_DEP_TARGETS(mmcsd,FINAL_LIB_LIST) will create mmcsd_has_dep: (as 'mmcsd_DEPENDS_ON ' is not defined in mmcsd_component.mk)
105 # 3) Build the <module> after the dependency is built
107 define CREATE_DEP_TARGETS
108 ifneq ($($(1)_DEPENDS_ON),)
109 ifeq ($($(1)_DEPENDS_ON),$(filter $($(1)_DEPENDS_ON), $($(2))))
110 $(1)_has_dep: $($(1)_DEPENDS_ON)_has_dep
111 +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $(1)
113 $(2)_DEP_LIST += $($(1)_DEPENDS_ON)
114 else
115 $(1)_has_dep:
116 +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $(1)
117 endif
118 else
119 $(1)_has_dep:
120 +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile $(1)
121 endif
122 endef
125 # For all the targets to build, create the Dependency targets.
126 $(foreach LIB,$(FINAL_LIB_LIST),$(eval $(call CREATE_DEP_TARGETS,$(LIB),FINAL_LIB_LIST)))
127 $(foreach APP_LIB,$(FINAL_APP_LIB_LIST),$(eval $(call CREATE_DEP_TARGETS,$(APP_LIB),FINAL_APP_LIB_LIST)))
128 $(foreach EXAMPLE,$(FINAL_EXAMPLE_LIST),$(eval $(call CREATE_DEP_TARGETS,$(EXAMPLE),FINAL_EXAMPLE_LIST)))
129 $(foreach DUP_EXAMPLE,$(FINAL_DUP_EXAMPLE_LIST),$(eval $(call CREATE_DEP_TARGETS,$(DUP_EXAMPLE),FINAL_DUP_EXAMPLE_LIST)))
130 $(foreach FIRM,$(FINAL_FIRM_LIST),$(eval $(call CREATE_DEP_TARGETS,$(FIRM),FINAL_FIRM_LIST)))
131 $(foreach UTIL,$(FINAL_UTILS_LIST_ALL),$(eval $(call CREATE_DEP_TARGETS,$(UTIL),FINAL_UTILS_LIST_ALL)))
133 # Create *_has_dep targets , filtering out the duplicate entries (which already appeared as dependent targets to others
134 # For example nimu_icssg_has_dep already builds emac (nimu_icssg_DEPENDS_ON = emac)
135 FINAL_LIB_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_LIB_LIST_DEP_LIST), $(FINAL_LIB_LIST)))
136 FINAL_APP_LIB_HAS_DEP_LIST = $(addsuffix _has_dep,$(filter-out $(FINAL_APP_LIB_LIST_DEP_LIST),$(FINAL_APP_LIB_LIST)))
137 FINAL_EXAMPLE_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_EXAMPLE_LIST_DEP_LIST),$(FINAL_EXAMPLE_LIST)))
138 FINAL_DUP_EXAMPLE_HAS_DEP_LIST = $(addsuffix _has_dep,$(filter-out $(FINAL_DUP_EXAMPLE_LIST_DEP_LIST),$(FINAL_DUP_EXAMPLE_LIST)))
139 FINAL_FIRM_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_FIRM_LIST_DEP_LIST),$(FINAL_FIRM_LIST)))
140 FINAL_UTILS_LIST_ALL_HAS_DEP_LIST = $(addsuffix _has_dep, $(filter-out $(FINAL_UTILS_LIST_ALL_DEP_LIST),$(FINAL_UTILS_LIST_ALL)))
143 .PHONY : all all_libs all_apps all_apps_core version pdk_examples pdk_libs lib app_lib apps tar firm doxygen pdk_libs_clean pdk_app_libs pdk_app_libs_clean examples examples_clean clean package $(pdk_PKG_LIST_ALL) $(pdk_DUP_EXAMPLE_LIST) all_firm firm all_firm_versions all_apps pdk_examples pdk_dup_apps $(FINAL_LIB_HAS_DEP_LIST) $(FINAL_APP_LIB_HAS_DEP_LIST) $(FINAL_EXAMPLE_HAS_DEP_LIST) $(FINAL_DUP_EXAMPLE_HAS_DEP_LIST) $(FINAL_FIRM_HAS_DEP_LIST) %_has_dep $(FINAL_UTILS_LIST_ALL) $(FINAL_PKG_LIST_INFO) $(FINAL_DUP_EXAMPLE_INFO)
145 all: version all_apps
147 all_apps: all_libs
148 +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all_apps_core
150 all_libs: pdk_libs pdk_app_libs firm
152 all_apps_core: pdk_examples
153 $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile pdk_dup_apps
155 version:
156 $(ECHO) ------------------------------------------------------
157 $(ECHO) \# PDK MM.NN.PP.BB
158 $(ECHO) ------------------------------------------------------
160 pdk_libs: $(FINAL_LIB_HAS_DEP_LIST)
162 pdk_libs_clean: $(FINAL_LIB_LIST_CLEAN)
164 pdk_app_libs: $(FINAL_APP_LIB_HAS_DEP_LIST)
166 pdk_examples: examples
168 pdk_dup_apps: $(FINAL_DUP_EXAMPLE_HAS_DEP_LIST)
170 pdk_app_libs_clean: $(FINAL_APP_LIB_LIST_CLEAN)
172 all_firm: $(FINAL_FIRM_HAS_DEP_LIST)
174 all_firm_clean: $(FINAL_FIRM_LIST_CLEAN)
176 examples: $(FINAL_EXAMPLE_HAS_DEP_LIST)
178 examples_clean: $(FINAL_EXAMPLE_LIST_CLEAN)
180 examples_info: $(FINAL_PKG_LIST_INFO) $(FINAL_DUP_EXAMPLE_INFO)
182 clean: pdk_libs_clean pdk_app_libs_clean examples_clean all_firm_clean
183 $(foreach dup_app, $(FINAL_DUP_EXAMPLE_LIST_CLEAN),\
184 $(MAKE) $(dup_app);\
185 )
187 allclean: destroot_clean all_libs_clean
189 destroot_clean:
190 ifneq ($(DEST_ROOT),)
191 $(RM) -rf $(DEST_ROOT)
192 endif
194 all_libs_clean:
195 $(RM) -rf ../*/lib
196 $(RM) -rf ../*/*/lib
197 $(RM) -rf ../*/*/*/lib
198 $(RM) -rf ../*/*/*/*/lib
199 $(RM) -rf ../drv/emac/firmware/icss_dualmac/bin/
200 $(RM) -rf ../boot/sbl/binary
202 package: $(FINAL_PKG_LIST_PACKAGE) $(FINAL_DUP_EXAMPLE_LIST_PACKAGE)
204 help:
205 $(ECHO) ------------------------------------------------------
206 $(ECHO) \# PDK make help
207 $(ECHO) ------------------------------------------------------
208 $(ECHO) make -s [OPTIONAL MAKE VARIABLES] Note: use gmake for windows
209 $(ECHO)
210 $(ECHO) "Supported targets:"
211 $(ECHO) "------------------"
212 $(ECHO) "all : Builds all libraries and examples for the provided CORE and BOARD"
213 $(ECHO) "allcores : Builds all libraries and examples for all applicable CORES for a BOARD"
214 $(ECHO) "clean : Cleans all libraries and examples for the provided CORE and BOARD"
215 $(ECHO) "allcores_clean : Cleans all libraries and examples for all applicable CORES for a BOARD"
216 $(ECHO) "allclean : Removes the binary directory using rm -rf"
217 $(ECHO) "pdk_examples : Builds all examples"
218 $(ECHO) "pdk_libs : Builds all libraries"
219 $(ECHO) "pdk_app_libs : Builds all application utility libaries"
220 $(ECHO) "custom_target : Builds the target list provided by BUILD_TARGET_LIST_ALL= for all cores and profiles"
221 $(ECHO) "<Module> : Builds a module. Possible values:"
222 $(ECHO) "[$(FINAL_LIB_LIST)]"
223 $(ECHO) ""
224 $(ECHO) "<Module_App_lib> : Builds application libraries:"
225 $(ECHO) "[$(FINAL_APP_LIB_LIST)]"
226 $(ECHO) ""
227 $(ECHO) "<Module_App> : Builds an application. Possible values:"
228 $(ECHO) "[$(FINAL_EXAMPLE_LIST) $(FINAL_DUP_EXAMPLE_LIST)]"
229 $(ECHO) ""
230 $(ECHO) "<Utils> : Runs utilities which generate code. Possible values:"
231 $(ECHO) "[$(FINAL_UTILS_LIST_ALL) ]"
232 $(ECHO) ""
233 $(ECHO) "Optional make variables:"
234 $(ECHO) "------------------------"
235 $(ECHO) "BOARD=[$(BOARD_LIST_ALL)]"
236 $(ECHO) " Default: $(BOARD)"
237 $(ECHO) "CORE=[$(CORE_LIST_ALL)]"
238 $(ECHO) " Default: $(CORE)"
239 $(ECHO) "BUILD_PROFILE=[$(BUILD_PROFILE_LIST_ALL)]"
240 $(ECHO) " Default: $(BUILD_PROFILE)"
241 $(ECHO) "OS=[Windows_NT linux]"
242 $(ECHO) " Default: Windows_NT"
243 $(ECHO) " COMP = $(COMP)"
244 $(ECHO) " PDK_INSTALL_PATH = $(PDK_INSTALL_PATH)"
245 $(ECHO) " XDC_INSTALL_PATH = $(XDC_INSTALL_PATH)"
247 allcores:
248 $(foreach current_core, $(CORE_LIST_ALL),\
249 $(MAKE) all CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(BUILD_PROFILE);\
250 )
252 allcores_clean:
253 $(foreach current_core, $(CORE_LIST_ALL),\
254 $(MAKE) clean CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(BUILD_PROFILE);\
255 )
257 allcores_package:
258 $(foreach current_core, $(CORE_LIST_ALL),\
259 $(MAKE) package CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(BUILD_PROFILE);\
260 )
262 allboards:
263 $(foreach current_board, $(BOARD_LIST_ALL),\
264 $(MAKE) allcores BOARD=$(current_board) BUILD_PROFILE=$(BUILD_PROFILE);\
265 )
267 allboards_clean:
268 $(foreach current_board, $(BOARD_LIST_ALL),\
269 $(MAKE) allcores_clean BOARD=$(current_board) BUILD_PROFILE=$(BUILD_PROFILE);\
270 )
272 profiles:
273 $(foreach current_profile, $(BUILD_PROFILE_LIST_ALL),\
274 $(MAKE) allcores BOARD=$(BOARD) BUILD_PROFILE=$(current_profile);\
275 )
277 profiles_clean:
278 $(foreach current_profile, $(BUILD_PROFILE_LIST_ALL),\
279 $(MAKE) allcores_clean BOARD=$(BOARD) BUILD_PROFILE=$(current_profile);\
280 )
282 pdk_libs_allcores:
283 $(foreach current_core, $(CORE_LIST_ALL),\
284 $(MAKE) pdk_libs CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(BUILD_PROFILE);\
285 )
287 pdk_libs_allcores_clean:
288 $(foreach current_core, $(CORE_LIST_ALL),\
289 $(MAKE) pdk_libs_clean CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(BUILD_PROFILE);\
290 )
292 pdk_libs_profiles:
293 $(foreach current_profile, $(BUILD_PROFILE_LIST_ALL),\
294 $(MAKE) pdk_libs_allcores BOARD=$(BOARD) BUILD_PROFILE=$(current_profile);\
295 )
297 pdk_libs_profiles_clean:
298 $(foreach current_profile, $(BUILD_PROFILE_LIST_ALL),\
299 $(MAKE) pdk_libs_allcores_clean BOARD=$(BOARD) BUILD_PROFILE=$(current_profile);\
300 )
302 custom_target:
303 $(foreach current_profile, $(BUILD_PROFILE_LIST_ALL),\
304 $(foreach current_core, $(CORE_LIST_ALL),\
305 $(foreach current_build_target, $(BUILD_TARGET_LIST_ALL),\
306 $(MAKE) $(current_build_target) CORE=$(current_core) BOARD=$(BOARD) BUILD_PROFILE_$(current_core)=$(current_profile);\
307 )))
309 allall:
310 $(foreach current_board, $(BOARD_LIST_ALL),\
311 $(MAKE) profiles BOARD=$(current_board);\
312 )
314 allall_clean:
315 $(foreach current_board, $(BOARD_LIST_ALL),\
316 $(MAKE) profiles_clean BOARD=$(current_board);\
317 )
319 # $(ECHO) "all_firm_versions: HOSTCORE is $(HOSTCORE) CORE is $(CORE) PRUVERSION is $(pru_version)"; \
321 all_firm_versions:
322 $(foreach pru_version, $(PRU_VERSION_LIST),\
323 $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all_firm HOSTCORE=$(HOSTCORE) CORE=$(CORE) PRUVERSION=$(pru_version); \
324 )
326 # Build firmware targets for PRU cores which are defined in LIMIT_CORES only
327 firm:
328 $(foreach pru_core, $(filter $(PRUCORE_LIST), $(LIMIT_CORES)),\
329 $(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all_firm_versions HOSTCORE=$(CORE) CORE=$(pru_core); \
330 )
332 lib: pdk_libs
334 apps: examples
335 app_libs: pdk_app_libs
337 doxygen:
338 ifeq ($(DOXYGEN_SUPPORT),yes)
339 $(ECHO) Creating Doxygen API guide ...
340 @doxygen docs/Doxyfile
341 else
342 $(ECHO) No Doxygen Support available ...
343 endif
345 clean_doxygen:
346 ifeq ($(DOXYGEN_SUPPORT),yes)
347 $(ECHO) cleaned Doxygen API guide ...
348 $(RM) -rf docs/doxygen
349 else
350 $(ECHO) No Doxygen Support available ...
351 endif
353 tar: lib firm doxygen
354 $(ECHO) Creating the Release Tar ball for $(COMP)...
355 $(XDC) clean XDCBUILDCFG=config_mk.bld
356 $(XDC) release XDCBUILDCFG=config_mk.bld
357 $(ECHO) please check $(COMP)/packages folder for the release tarball
359 #=================================================================
360 #All PDKs libs and tests
361 $(FINAL_PKG_LIST_ALL) $(FINAL_DUP_EXAMPLE_LIST):
362 $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
363 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
364 $(if $(filter yes, $(subst emptyreplacement,,$($@_XDC_CONFIGURO))),\
365 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) xdc_configuro,),),\
366 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
367 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
368 $(if $(filter yes, $(subst emptyreplacement,,$($@_XDC_CONFIGURO))),\
369 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) xdc_configuro,),),))
370 $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
371 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
372 $(MAKE) -C $($@_PATH) $($@_MAKEFILE),$(ECHO) Nothing to be done for $(SOC) $(CORE) $@),\
373 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
374 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
375 $(MAKE) -C $($@_PATH) $($@_MAKEFILE),$(ECHO) Nothing to be done for $(BOARD) $(SOC) $(CORE) $@),$(ECHO) Nothing to be done for $(SOC) $@))
376 $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
377 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
378 $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_IMAGEGEN))),\
379 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_imagegen,),),\
380 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
381 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
382 $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_IMAGEGEN))),\
383 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_imagegen,),),))
384 $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
385 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
386 $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_APPIMAGEGEN))),\
387 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_appimagegen,),),\
388 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
389 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
390 $(if $(filter yes, $(subst emptyreplacement,,$($@_SBL_APPIMAGEGEN))),\
391 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) sbl_appimagegen,),),))
392 $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
393 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
394 $(if $(filter yes, $(subst emptyreplacement,,$($@_KEYWR_IMAGEGEN))),\
395 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) keywr_imagegen,),),\
396 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
397 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
398 $(if $(filter yes, $(subst emptyreplacement,,$($@_KEYWR_IMAGEGEN))),\
399 $(MAKE) -C $($@_PATH) $($@_MAKEFILE) keywr_imagegen,),),))
402 $(FINAL_PKG_LIST_ALL_CLEAN) $(FINAL_DUP_EXAMPLE_LIST_CLEAN):
403 $(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _clean,,$@)_SOCLIST))),\
404 $(MAKE) -C $($(subst _clean,,$@)_PATH) $($(subst _clean,,$@)_MAKEFILE) clean,\
405 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _clean,,$@)_BOARDLIST))),\
406 $(MAKE) -C $($(subst _clean,,$@)_PATH) $($(subst _clean,,$@)_MAKEFILE) clean,))
408 $(FINAL_UTILS_LIST_ALL):
409 $(if $(filter $(SOC), $(subst emptyreplacement,,$($@_SOCLIST))),\
410 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
411 $(MAKE) -C $($@_PATH) $($@_MAKEFILE),$(ECHO) Nothing to be done for $(SOC) $(CORE) $@),\
412 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($@_BOARDLIST))),\
413 $(if $(filter $(CORE), $(subst emptyreplacement,,$($@_$(SOC)_CORELIST))),\
414 $(MAKE) -C $($@_PATH) $($@_MAKEFILE),$(ECHO) Nothing to be done for $(BOARD) $(SOC) $(CORE) $@),$(ECHO) Nothing to be done for $(SOC) $@))
416 $(FINAL_PKG_LIST_PACKAGE) $(FINAL_DUP_EXAMPLE_LIST_PACKAGE):
417 $(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _package,,$@)_SOCLIST))),\
418 $(MAKE) -C $($(subst _package,,$@)_PATH) $($(subst _package,,$@)_MAKEFILE) package,\
419 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _package,,$@)_BOARDLIST))),\
420 $(MAKE) -C $($(subst _package,,$@)_PATH) $($(subst _package,,$@)_MAKEFILE) package,$(ECHO) Nothing to be done for $(SOC) $(subst _package,,$@)))
422 $(FINAL_PKG_LIST_INFO) $(FINAL_DUP_EXAMPLE_INFO):
423 $(if $(filter $(SOC), $(subst emptyreplacement,,$($(subst _info,,$@)_SOCLIST))),\
424 $(ECHO) $(subst _info,,$@) Applicable Cores: $($(subst _info,,$@)_$(SOC)_CORELIST) ,\
425 $(if $(filter $(BOARD), $(subst emptyreplacement,,$($(subst _info,,$@)_BOARDLIST))),\
426 $(ECHO) $(subst _info,,$@) Applicable Cores: $($(subst _info,,$@)_$(SOC)_CORELIST) ,))
428 #Below is used only for checking c++ build errors during development, not to be used for any other purpose
429 cplusplus_build:
430 +$(MAKE) -f $(PDK_INSTALL_PATH)/ti/build/makefile all BUILD_PROFILE=debug CPLUSPLUS_BUILD=yes
432 # Nothing beyond this point