Merge pull request #34 in PROCESSOR-SDK/edma3_lld from review_edma_release_prasad...
[keystone-rtos/edma3_lld.git] / makerules / env.mk
1 # File: env.mk. This file contains all the paths and other ENV variables
3 #
4 # Module paths
5 #
7 # Directory where all internal software packages are located; typically 
8 #  those that are checked into version controlled repository. In this case all
9 #  the OMX components and SDK/OMX demo.
10 INTERNAL_SW_ROOT ?= E:/EDMA/edma3_lld_02_12_01_25
12 # Directory where all external (imported) software packages are located; typically 
13 #  those that are NOT checked into version controlled repository. In this case,
14 #  compiler tool chains, BIOS, XDC, Syslink, IPC, FC, CE, drivers, codecs, etc.
15 EXTERNAL_SW_ROOT ?= C:/PROGRA~2/TEXASI~1
17 # Destination root directory.
18 #   - specify the directory where you want to place the object, archive/library,
19 #     binary and other generated files in a different location than source tree
20 #   - or leave it blank to place then in the same tree as the source
21 #DEST_ROOT = E:/Temp/edma3_lld_02_11_02_03
23 # Utilities directory. This is required only if the build machine is Windows.
24 #   - specify the installation directory of utility which supports POSIX commands
25 #     (eg: Cygwin installation or MSYS installation).
26 UTILS_INSTALL_DIR = $(EXTERNAL_SW_ROOT)/os_tools/linux/xdctools_3_32_01_22_core
28 # Set path separator, etc based on the OS
29 # On windows if sh.exe is installed (cygwin installs) make will execute
30 # commands on sh or it executes on windows cmd prompt. When executing on sh,
31 # unix style command seperator is used.
32 ifeq ($(OS),Windows_NT)
33   PATH_SEPARATOR = ;
34   UTILSPATH = $(UTILS_INSTALL_DIR)/bin/
35   ifeq (cygwin,$(findstring cygwin,$(PATH)))
36   COMMAND_SEPERATOR = ;
37   else
38   COMMAND_SEPERATOR = &
39   endif
40 else 
41   # else, assume it is linux
42   PATH_SEPARATOR = :
43   COMMAND_SEPERATOR = ;
44 endif
46 # BIOS
47 bios_PATH = $(EXTERNAL_SW_ROOT)/os_tools/bios_6_46_04_53
48 bios_INCLUDE = $(bios_PATH)/packages
50 # XDC
51 xdc_PATH = $(EXTERNAL_SW_ROOT)/os_tools/linux/xdctools_3_32_01_22_core
52 xdc_INCLUDE = $(xdc_PATH)/packages
54 # EDMA3 LLD
55 edma3_lld_PATH = $(INTERNAL_SW_ROOT)
56 include $(edma3_lld_PATH)/packages/component.mk
58 #
59 # Tools paths
60 #
61 # Cortex-M3
62 CODEGEN_PATH_M3 = $(EXTERNAL_SW_ROOT)/cg_tools/linux/ti-cgt-arm_16.9.2.LTS
63 CODEGEN_PATH_M3_COFF = $(EXTERNAL_SW_ROOT)/cg_tools/linux/ti-cgt-arm_5.2.5
64 # Cortex-M4
65 CODEGEN_PATH_M4 = $(EXTERNAL_SW_ROOT)/cg_tools/linux/ti-cgt-arm_16.9.2.LTS
66 CODEGEN_PATH_M4_COFF = $(EXTERNAL_SW_ROOT)/cg_tools/linux/ti-cgt-arm_5.2.5
67 # Cortex-A8
68 CODEGEN_PATH_A8 = $(EXTERNAL_SW_ROOT)/cg_tools/linux/ti-cgt-arm_16.9.2.LTS
69 # Cortex-A8 GCC
70 CODEGEN_PATH_A8_GCC = $(EXTERNAL_SW_ROOT)/cg_tools/linux/gcc-arm-none-eabi-6-2017-q1-update
72 # Cortex-A15
73 CODEGEN_PATH_A15 = $(EXTERNAL_SW_ROOT)/cg_tools/linux/gcc-arm-none-eabi-6-2017-q1-update
74 # Cortex-A15_GCC
75 CODEGEN_PATH_A15_GCC = $(EXTERNAL_SW_ROOT)/cg_tools/linux/gcc-arm-none-eabi-6-2017-q1-update
77 # ARM-9
78 CODEGEN_PATH_ARM9 = $(EXTERNAL_SW_ROOT)/cg_tools/linux/ti-cgt-arm_16.9.2.LTS
79 # ARM-9 GCC
80 CODEGEN_PATH_A9_GCC = $(EXTERNAL_SW_ROOT)/cg_tools/linux/gcc-arm-none-eabi-6-2017-q1-update
82 # DSP - Since same toolchain does not support COFF and ELF, there are two entries
83 #        This would go away when one version supports both formats
84 CODEGEN_PATH_DSP = $(EXTERNAL_SW_ROOT)/cg_tools/linux/C6000_7.4.2
85 CODEGEN_PATH_DSPELF = $(EXTERNAL_SW_ROOT)/cg_tools/linux/C6000_7.4.2
87 # ARP32
88 CODEGEN_PATH_ARP32 = $(EXTERNAL_SW_ROOT)/cg_tools/linux/arp32_1.0.7
90 # Commands commonly used within the make files
92 RM = $(UTILSPATH)rm
93 RMDIR = $(UTILSPATH)rm -rf
94 MKDIR = $(UTILSPATH)mkdir
96 ifeq ($(OS),Windows_NT)
97 ECHO = $(UTILSPATH)echo
98 else
99 ECHO = /bin/echo
100 endif
102 # MAKE = $(UTILSPATH)make
103 EGREP = $(UTILSPATH)egrep
104 CP = $(UTILSPATH)cp
106 # This is to avoid using full blown cygwin - chmod is really needed only linux
107 ifeq ($(OS),Windows_NT)
108 CHMOD = @echo
109 else
110 CHMOD = $(UTILSPATH)chmod
111 endif
114 # XDC specific ENV variables
117 # XDC Config.bld file (required for configuro) ; Derives from top-level omx_PATH
118 CONFIG_BLD_XDC_674 = $(edma3_lld_PATH)/packages/_config.bld
119 CONFIG_BLD_XDC_64p = $(edma3_lld_PATH)/packages/_config.bld
120 CONFIG_BLD_XDC_64t = $(edma3_lld_PATH)/packages/_config.bld
121 CONFIG_BLD_XDC_a8 = $(edma3_lld_PATH)/packages/_config.bld
122 CONFIG_BLD_XDC_arm9 = $(edma3_lld_PATH)/packages/_config.bld
123 CONFIG_BLD_XDC_66 = $(edma3_lld_PATH)/packages/_config.bld
124 CONFIG_BLD_XDC_m3 = $(edma3_lld_PATH)/packages/_config.bld
125 CONFIG_BLD_XDC_m4 = $(edma3_lld_PATH)/packages/_config.bld
126 CONFIG_BLD_XDC_a15 = $(edma3_lld_PATH)/packages/_config.bld
128 XDCPATH = $(bios_PATH)/packages;$(xdc_PATH)/packages;$(edma3_lld_PATH)/packages;
129 export XDCPATH
131 XDCROOT = $(xdc_PATH)
132 XDCTOOLS = $(xdc_PATH)
133 export XDCROOT
134 export XDCTOOLS
136 TMS470_CGTOOLS = $(CODEGEN_PATH_M3)
137 CGTOOLS = $(CODEGEN_PATH_DSP)
138 CGTOOLS_ELF = $(CODEGEN_PATH_DSPELF)
139 export TMS470_CGTOOLS
141 CODESOURCERYCGTOOLS = $(CODEGEN_PATH_A8)
142 export CODESOURCERYCGTOOLS
144 # Nothing beyond this point