]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo_bsp/ps7_cortexa9_0/libsrc/standalone_v6_6/src/Makefile
Update Zynq, MPSoc Cortex-A53 and MPSoc Cortex-R5 demo projects to build with the...
[freertos] / FreeRTOS / Demo / CORTEX_A9_Zynq_ZC702 / RTOSDemo_bsp / ps7_cortexa9_0 / libsrc / standalone_v6_6 / src / Makefile
1 ###############################################################################
2 #
3 # Copyright (C) 2011 - 2015 Xilinx, Inc.  All rights reserved.
4 #
5 # Permission is hereby granted, free of charge, to any person obtaining a copy
6 # of this software and associated documentation files (the "Software"), to deal
7 # in the Software without restriction, including without limitation the rights
8 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 # copies of the Software, and to permit persons to whom the Software is
10 # furnished to do so, subject to the following conditions:
11 #
12 # The above copyright notice and this permission notice shall be included in
13 # all copies or substantial portions of the Software.
14 #
15 # Use of the Software is limited solely to applications:
16 # (a) running on a Xilinx device, or
17 # (b) that interact with a Xilinx device through a bus or interconnect.
18 #
19 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22 # XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
24 # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 # SOFTWARE.
26 #
27 # Except as contained in this notice, the name of the Xilinx shall not be used
28 # in advertising or otherwise to promote the sale, use or other dealings in
29 # this Software without prior written authorization from Xilinx.
30 #
31 ###############################################################################
32
33 include config.make
34
35 CC=$(COMPILER)
36 AR=$(ARCHIVER)
37 CP=cp
38 COMPILER_FLAGS=
39 EXTRA_COMPILER_FLAGS=
40 LIB=libxil.a
41
42 CC_FLAGS = $(subst -pg, -DPROFILING, $(COMPILER_FLAGS))
43 ECC_FLAGS = $(subst -pg, -DPROFILING, $(EXTRA_COMPILER_FLAGS))
44
45 ifeq (($(notdir $(CC))) , arm-xilinx-eabi-gcc)
46 #ECC_FLAGS      += -nostartfiles\
47 #                 -march=armv7-a \
48 #                 -mfloat-abi=soft \
49 #                 -mfpu=neon
50 ECC_FLAGS       += -nostartfiles\
51                   -march=armv7-a \
52                   -mfloat-abi=soft \
53                   -mfpu=neongoat
54
55 endif
56
57 ifeq (($(notdir $(CC))) , arm-none-eabi-gcc)
58 ECC_FLAGS       += -nostartfiles
59 endif
60
61 RELEASEDIR=../../../lib
62 INCLUDEDIR=../../../include
63 INCLUDES=-I./. -I${INCLUDEDIR}
64
65 OUTS = *.o
66 OBJECTS =       $(addsuffix .o, $(basename $(wildcard *.c)))
67 ASSEMBLY_OBJECTS  = $(addsuffix .o, $(basename $(wildcard *.S)))
68 INCLUDEFILES=*.h
69
70 libs: $(LIBS)
71
72 standalone_libs: $(LIBSOURCES)
73         echo "Compiling standalone"
74         $(CC) $(CC_FLAGS) $(ECC_FLAGS) $(INCLUDES) $^
75         $(AR) -r ${RELEASEDIR}/${LIB} ${OUTS}
76
77 profile_libs:
78         $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" libs
79
80 .PHONY: include
81 include: standalone_includes profile_includes
82
83 standalone_includes:
84         ${CP} ${INCLUDEFILES} ${INCLUDEDIR}
85
86 profile_includes:
87         $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" include
88
89 clean:
90         rm -rf ${OBJECTS}
91         rm -rf ${ASSEMBLY_OBJECTS}
92         $(MAKE) -C profile COMPILER_FLAGS="$(COMPILER_FLAGS)" EXTRA_COMPILER_FLAGS="$(EXTRA_COMPILER_FLAGS)" COMPILER="$(CC)" ARCHIVER="$(AR)" clean