]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - psdk_cust/pdk_k2g_1_0_1_2_eng/packages/ti/board/diag/led/build/evmK2G/armv7/makefile
Merge pull request #1 in PASDK/pasdk_sr from PASDK-318-input-task-code-repetition...
[processor-sdk/performance-audio-sr.git] / psdk_cust / pdk_k2g_1_0_1_2_eng / packages / ti / board / diag / led / build / evmK2G / armv7 / makefile
1 # Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
2 #
3 #
4 #  Redistribution and use in source and binary forms, with or without
5 #  modification, are permitted provided that the following conditions
6 #  are met:
7 #
8 #    Redistributions of source code must retain the above copyright
9 #    notice, this list of conditions and the following disclaimer.
10 #
11 #    Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the
14 #    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
21 #  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 #  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 #  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 #  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 #  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 #  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 #  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 #  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 #  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 #  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 # Output directories
33 DIAGOBJDIR = $(PDK_DIAG_DIR)/obj/$(BOARD)/$(TARGET)
34 DIAGBINDIR = $(PDK_DIAG_DIR)/bin/$(BOARD)/$(TARGET)
36 # ARMV7 link directory that contain built peripheral libraries
37 ARMV7LIBDIR ?= ./lib
39 # Cross tools
40 ifdef TOOLCHAIN_PATH_A15
41 # Support backwards compatibility with KeyStone1 approach
42  CC = $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)gcc
43  AC = $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)as
44  AR = $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)ar
45  LD = $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)gcc
46 endif
48 # INCLUDE Directories
49 CSL_DIR = $(PDK_INSTALL_PATH)/ti/csl/
50 INCDIR := $(CSL_DIR);$(PDK_INSTALL_PATH);$(PDK_DIAG_DIR);$(PDK_DIAG_DIR)/src/$(BOARD)/include
52 # Libraries
53 BOARD_LIB = "$(PDK_DIAG_DIR)/lib/$(BOARD)/armv7/ti.board.aa15fg"
54 UART_LIB = "$(PDK_INSTALL_PATH)/ti/drv/uart/lib/k2g/armv7/ti.drv.uart.k2g.aa15fg"
55 I2C_LIB = "$(PDK_INSTALL_PATH)/ti/drv/i2c/lib/k2g/armv7/ti.drv.i2c.k2g.aa15fg"
56 OSAL_LIB = "$(PDK_INSTALL_PATH)/ti/osal/lib/nonos/k2g/armv7/ti.osal.aa15fg"
57 CSL_LIB = "$(PDK_INSTALL_PATH)/ti/csl/lib/k2g/a15/ti.csl.aa15fg"
58 GPIO_LIB = "$(PDK_INSTALL_PATH)/ti/drv/gpio/lib/k2g/armv7/ti.drv.gpio.k2g.aa15fg"
59 PERIPHERAL_LIB = $(UART_LIB) $(GPIO_LIB) $(I2C_LIB) $(CSL_LIB)
61 # Compiler options
62 INTERNALDEFS = -g -gdwarf-3 -gstrict-dwarf -Wall $(DEBUG_FLAG) -D__ARMv7 -DSOC_$(DEVICE) -mtune=cortex-a15 -march=armv7-a -marm -mfloat-abi=hard -mfpu=neon
64 # Linker options
65 INTERNALLINKDEFS = -mfloat-abi=hard -Wl,--undefined,__aeabi_uidiv -Wl,--undefined,__aeabi_idiv --entry Entry -nostartfiles -static -Wl,--gc-sections -Wl,-T $(PDK_DIAG_DIR)/diag/common/$(DEVICE)/linker.cmd -Wl,--start-group -l"c" -lrdimon -l"m" -l"nosys" $(BOARD_LIB) $(PERIPHERAL_LIB) $(OSAL_LIB) -Wl,--end-group $(LDFLAGS)
67 # Executable using device independent library and device object file
68 EXE=led_diagExample_$(BOARD)_$(TARGET).out
70 OBJEXT = o
71 ASMOBJEXT = ao
72 SRCDIR = $(PDK_DIAG_DIR)/diag/led/src
73 BOARDSRCDIR = $(PDK_DIAG_DIR)/diag/led/build/$(BOARD)
75 INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR)))
77 VPATH=$(SRCDIR):$(BOARDSRCDIR):$(PDK_DIAG_DIR)/diag/common/$(DEVICE):$(PDK_INSTALL_PATH)/ti/drv/uart/soc/k2g:$(PDK_INSTALL_PATH)/ti/drv/gpio/soc/k2g
79 #List the Source Files
80 TEST_SRC = \
81         led_test.c \
82         GPIO_LED_config.c
84 TEST_SRC_DEV = \
85         GPIO_soc.c 
86         
87 #Common entry object
88 ENTRY_SRC = diag_entry.S
90 #Common diagnostic source objects
91 DIAG_SRC = diag_common_cfg.c
93 # FLAGS for the SourceFiles
94 CFLAGS += -Wall -O2
95 SRC_CFLAGS = -I. $(CFLAGS) -g -gdwarf-3 -gstrict-dwarf -Wall 
97 # Make Rule for the SRC Files
98 TEST_SRC_OBJS = $(patsubst %.c, $(DIAGOBJDIR)/%.$(OBJEXT), $(TEST_SRC))
99 ENTRY_OBJ = $(patsubst %.S, $(DIAGOBJDIR)/%.$(ASMOBJEXT), $(ENTRY_SRC))
100 TEST_SRC_DEV_OBJS = $(patsubst %.c, $(DIAGOBJDIR)/%.$(OBJEXT), $(TEST_SRC_DEV))
101 DIAG_SRC_OBJS = $(patsubst %.c, $(DIAGOBJDIR)/%.$(OBJEXT), $(DIAG_SRC))
103 all:$(DIAGBINDIR)/$(EXE)
105 $(DIAGBINDIR)/$(EXE): $(TEST_SRC_OBJS) $(TEST_SRC_DEV_OBJS) $(ENTRY_OBJ) $(DIAG_SRC_OBJS) $(DIAGBINDIR)/.created $(DIAGOBJDIR)/.created
106         @echo linking $(TEST_SRC_OBJS) $(TEST_SRC_DEV_OBJS) $(ENTRY_OBJ) $(DIAG_SRC_OBJS) into $@ ...
107         @$(CC) $(TEST_SRC_OBJS) $(TEST_SRC_DEV_OBJS) $(ENTRY_OBJ) $(DIAG_SRC_OBJS) $(INTERNALLINKDEFS) -o $@
109 $(DIAGOBJDIR)/%.$(OBJEXT): %.c $(DIAGOBJDIR)/.created
110         @echo compiling $< ...
111         @$(CC) -c $(SRC_CFLAGS) $(INTERNALDEFS) $(INCS)  $< -o $@
113 $(DIAGOBJDIR)/%.$(ASMOBJEXT): %.S $(DIAGOBJDIR)/.created
114         @echo compiling $< ...
115         @$(CC) -c $(SRC_CFLAGS) $(INTERNALDEFS) $(INCS)  $< -o $@
117 $(DIAGOBJDIR)/.created:
118         @mkdir -p $(DIAGOBJDIR)
119         @touch $(DIAGOBJDIR)/.created
121 $(DIAGBINDIR)/.created:
122         @mkdir -p $(DIAGBINDIR)
123         @touch $(DIAGBINDIR)/.created
125 clean:
126         @rm -f $(DIAGBINDIR)/$(EXE)
127         @rm -f $(TEST_SRC_OBJS) $(TEST_SRC_DEV_OBJS) $(ENTRY_OBJ) $(DIAGBINDIR)/.created $(DIAGOBJDIR)/.created