1 #
2 # Copyright (c) 2017 Texas Instruments Incorporated - http://www.ti.com
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 #
34 # ======== makefile ========
35 #
37 # edit PROCLIST list to control how many executables to build
39 ifeq ($(PLATFORM),DRA7XX)
40 PROCLIST = host dsp
41 #PROCLIST = host ipu
42 PROC_HOST_NAME = "HOST"
43 PROC_DSP_NAME = "DSP1"
44 #PROC_IPU_NAME = "IPU1"
45 PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_DSP_NAME)\\\""
46 #PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_IPU_NAME)\\\""
47 DSP_PLATFORM = ti.platforms.evmDRA7XX:dsp
48 HOST_PLATFORM = ti.platforms.evmDRA7XX:host
49 IPU_PLATFORM = ti.platforms.evmDRA7XX:ipu
50 SERVER = "$(PROC_DSP_NAME)"
51 BOARD_NAME = "idkAM572x"
52 else ifeq ($(PLATFORM),TCI6638)
53 PROCLIST = host dsp
54 PROC_HOST_NAME = "HOST"
55 PROC_DSP_NAME = "CORE0"
56 PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_DSP_NAME)\\\""
57 DSP_PLATFORM = ti.platforms.evmTCI6638K2K:dsp
58 # Currently no IPC support for evmTCI6638K2K:host
59 # Hence using evmTCI6636K2H which is equivalent
60 HOST_PLATFORM = ti.platforms.evmTCI6636K2H:host
61 SERVER = "$(PROC_DSP_NAME)"
62 BOARD_NAME = "evmK2K"
63 else ifeq ($(PLATFORM),TCI6636)
64 PROCLIST = host dsp
65 PROC_HOST_NAME = "HOST"
66 PROC_DSP_NAME = "CORE0"
67 PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_DSP_NAME)\\\""
68 DSP_PLATFORM = ti.platforms.evmTCI6636K2H:dsp
69 HOST_PLATFORM = ti.platforms.evmTCI6636K2H:host
70 SERVER = "$(PROC_DSP_NAME)"
71 BOARD_NAME = "evmK2H"
72 else ifeq ($(PLATFORM),66AK2G)
73 PROCLIST = host dsp
74 PROC_HOST_NAME = "HOST"
75 PROC_DSP_NAME = "CORE0"
76 PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_DSP_NAME)\\\""
77 DSP_PLATFORM = ti.platforms.evmTCI66AK2G02:dsp
78 HOST_PLATFORM = ti.platforms.evmTCI66AK2G02:host
79 BOARD_NAME = "evmK2G"
80 SERVER = "$(PROC_DSP_NAME)"
81 else ifeq ($(PLATFORM),66AK2E)
82 PROCLIST = host dsp
83 PROC_HOST_NAME = "HOST"
84 PROC_DSP_NAME = "CORE0"
85 PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_DSP_NAME)\\\""
86 DSP_PLATFORM = ti.platforms.evmC66AK2E:dsp
87 HOST_PLATFORM = ti.platforms.evmC66AK2E:host
88 BOARD_NAME = "evmK2E"
89 SERVER = "$(PROC_DSP_NAME)"
90 else ifeq ($(PLATFORM),TCI6630)
91 PROCLIST = host dsp
92 PROC_HOST_NAME = "HOST"
93 PROC_DSP_NAME = "CORE0"
94 PROC_NAME_LIST = "\\\"$(PROC_HOST_NAME)\\\", \\\"$(PROC_DSP_NAME)\\\""
95 DSP_PLATFORM = ti.platforms.evmTCI6630K2L:dsp
96 HOST_PLATFORM = ti.platforms.evmTCI6630K2L:host
97 BOARD_NAME = "evmK2L"
98 SERVER = "$(PROC_DSP_NAME)"
99 endif
101 EXBASE = .
102 include $(EXBASE)/products.mak
103 .PHONY: $(PROCLIST)
105 .PHONY: install install_rov
107 all: $(PROCLIST)
108 @echo $(PROCLIST)
110 $(PROCLIST):
111 @$(ECHO) "#"
112 @$(ECHO) "# Making $@ ..."
113 $(MAKE) -C $@ PROCLIST="$(PROCLIST)" \
114 DSP_PLATFORM=$(DSP_PLATFORM) \
115 HOST_PLATFORM=$(HOST_PLATFORM) \
116 PROC_HOST_NAME="$(PROC_HOST_NAME)" \
117 PROC_DSP_NAME="$(PROC_DSP_NAME)" \
118 PROC_NAME_LIST=$(PROC_NAME_LIST) \
119 BOARD_NAME="$(BOARD_NAME)" \
120 SERVER="$(SERVER)"
122 # IPU_PLATFORM=$(IPU_PLATFORM) \
123 # PROC_IPU_NAME="$(PROC_IPU_NAME)" \
125 help:
126 @$(ECHO) "make # build executables"
127 @$(ECHO) "make clean # clean everything"
128 @$(ECHO) "make install EXEC_DIR=/.../testbench # install folder"
130 # setup install goal
131 ifeq ($(filter $(MAKECMDGOALS),install install_rov),$(MAKECMDGOALS))
132 ifeq (,$(EXEC_DIR))
133 EXEC_DIR=$(CURDIR)/install
134 endif
135 override EXEC_DIR:=$(EXEC_DIR)/simple_buffer_example
136 endif
138 install: $(PROCLIST) $(addsuffix _install,$(PROCLIST))
139 $(addsuffix _install,$(PROCLIST)):
140 @$(ECHO) "#"
141 @$(ECHO) "# Making $@ ..."
142 # @$(MKDIR) $(EXEC_DIR)/debug
143 @$(MKDIR) $(EXEC_DIR)/release
144 $(MAKE) -C $(subst _install,,$@) EXEC_DIR=$(EXEC_DIR) install
146 install_rov: $(PROCLIST) $(addsuffix _install_rov,$(PROCLIST))
147 $(addsuffix _install_rov,$(PROCLIST)):
148 @$(ECHO) "#"
149 @$(ECHO) "# Making $@ ..."
150 @$(MKDIR) $(EXEC_DIR)/release
151 $(MAKE) -C $(subst _install_rov,,$@) EXEC_DIR=$(EXEC_DIR) install_rov
153 clean: $(addsuffix _clean,$(PROCLIST))
154 $(RMDIR) install
156 $(addsuffix _clean,$(PROCLIST)):
157 $(MAKE) -C $(subst _clean,,$@) clean
159 # ======== standard macros ========
160 ifneq (,$(wildcard $(XDC_INSTALL_DIR)/xdc.exe))
161 # use these on Windows
162 CP = $(XDC_INSTALL_DIR)/bin/cp
163 ECHO = $(XDC_INSTALL_DIR)/bin/echo
164 INSTALL = $(XDC_INSTALL_DIR)/bin/cp
165 MKDIR = $(XDC_INSTALL_DIR)/bin/mkdir -p
166 RM = $(XDC_INSTALL_DIR)/bin/rm -f
167 RMDIR = $(XDC_INSTALL_DIR)/bin/rm -rf
168 else
169 # use these on Linux
170 CP = cp
171 ECHO = echo
172 INSTALL = install
173 MKDIR = mkdir -p
174 RM = rm -f
175 RMDIR = rm -rf
176 endif