initial release
[apps/tidep0074.git] / makefile
1 #
2 #  Copyright (c) 2012-2015 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
38 PROCLIST = dsp1 dsp2 ipu1 ipu2 host
40 EXBASE = .
41 include $(EXBASE)/products.mak
42 .PHONY: $(PROCLIST)
44 .PHONY: install
46 all: $(PROCLIST)
48 $(PROCLIST):
49         @$(ECHO) "#"
50         @$(ECHO) "# Making $@ ..."
51         $(MAKE) -C $@ PROCLIST="$(PROCLIST)"
53 help:
54         @$(ECHO) "make                                  # build executables"
55         @$(ECHO) "make clean                            # clean everything"
56         @$(ECHO) "make install EXEC_DIR=/.../testbench  # install folder"
58 # setup install goal
59 ifeq (install,$(MAKECMDGOALS))
60 ifeq (,$(EXEC_DIR))
61 EXEC_DIR=$(CURDIR)/install
62 endif
63 override EXEC_DIR:=$(EXEC_DIR)/ex02_messageq
64 endif
66 install: $(PROCLIST) $(addsuffix _install,$(PROCLIST))
67 $(addsuffix _install,$(PROCLIST)):
68         @$(ECHO) "#"
69         @$(ECHO) "# Making $@ ..."
70         @$(MKDIR) $(EXEC_DIR)/debug
71         @$(MKDIR) $(EXEC_DIR)/release
72         $(MAKE) -C $(subst _install,,$@) EXEC_DIR=$(EXEC_DIR) install
74 clean: $(addsuffix _clean,$(PROCLIST))
75         $(RMDIR) install
77 $(addsuffix _clean,$(PROCLIST)):
78         $(MAKE) -C $(subst _clean,,$@) clean
81 #  ======== standard macros ========
82 ifneq (,$(wildcard $(XDC_INSTALL_DIR)/xdc.exe))
83     # use these on Windows
84     CP      = $(XDC_INSTALL_DIR)/bin/cp
85     ECHO    = $(XDC_INSTALL_DIR)/bin/echo
86     INSTALL = $(XDC_INSTALL_DIR)/bin/cp
87     MKDIR   = $(XDC_INSTALL_DIR)/bin/mkdir -p
88     RM      = $(XDC_INSTALL_DIR)/bin/rm -f
89     RMDIR   = $(XDC_INSTALL_DIR)/bin/rm -rf
90 else
91     # use these on Linux
92     CP      = cp
93     ECHO    = echo
94     INSTALL = install
95     MKDIR   = mkdir -p
96     RM      = rm -f
97     RMDIR   = rm -rf
98 endif