]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_LM3S102_GCC/makedefs
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_LM3S102_GCC / makedefs
diff --git a/FreeRTOS/Demo/CORTEX_LM3S102_GCC/makedefs b/FreeRTOS/Demo/CORTEX_LM3S102_GCC/makedefs
new file mode 100644 (file)
index 0000000..cbc000d
--- /dev/null
@@ -0,0 +1,193 @@
+#******************************************************************************
+#
+# makedefs - Definitions common to all makefiles.
+#
+# Copyright (c) 2005,2006 Luminary Micro, Inc.  All rights reserved.
+#
+# Software License Agreement
+#
+# Luminary Micro, Inc. (LMI) is supplying this software for use solely and
+# exclusively on LMI's Stellaris Family of microcontroller products.
+#
+# The software is owned by LMI and/or its suppliers, and is protected under
+# applicable copyright laws.  All rights are reserved.  Any use in violation
+# of the foregoing restrictions may subject the user to criminal sanctions
+# under applicable laws, as well as to civil liability for the breach of the
+# terms and conditions of this license.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
+# OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
+# LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
+# CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
+#
+#******************************************************************************
+
+#******************************************************************************
+#
+# The compiler to be used.
+#
+#******************************************************************************
+ifndef COMPILER
+COMPILER=gcc
+endif
+
+#******************************************************************************
+#
+# The debugger to be used.
+#
+#******************************************************************************
+ifndef DEBUGGER
+DEBUGGER=gdb
+endif
+
+#******************************************************************************
+#
+# Definitions for using GCC.
+#
+#******************************************************************************
+ifeq (${COMPILER}, gcc)
+
+#
+# The command for calling the compiler.
+#
+CC=arm-none-eabi-gcc
+
+#
+# The flags passed to the assembler.
+#
+AFLAGS=-mthumb         \
+       -mcpu=cortex-m3 \
+       -MD
+
+#
+# The flags passed to the compiler.
+#
+CFLAGS=-mthumb         \
+       -mcpu=cortex-m3 \
+       -O2             \
+       -MD
+
+#
+# The command for calling the library archiver.
+#
+AR=arm-none-eabi-ar
+
+#
+# The command for calling the linker.
+#
+LD=arm-none-eabi-ld
+
+#
+# The flags passed to the linker.
+#
+LDFLAGS= -Map gcc/out.map
+
+#
+# Get the location of libgcc.a from the GCC front-end.
+#
+LIBGCC=${shell ${CC} -mthumb -march=armv6t2 -print-libgcc-file-name}
+
+#
+# Get the location of libc.a from the GCC front-end.
+#
+LIBC=${shell ${CC} -mthumb -march=armv6t2 -print-file-name=libc.a}
+
+#
+# The command for extracting images from the linked executables.
+#
+OBJCOPY=arm-none-eabi-objcopy
+
+endif
+
+#******************************************************************************
+#
+# Tell the compiler to include debugging information if the DEBUG environment
+# variable is set.
+#
+#******************************************************************************
+ifdef DEBUG
+CFLAGS += -g
+endif
+
+#******************************************************************************
+#
+# The rule for building the object file from each C source file.
+#
+#******************************************************************************
+${COMPILER}/%.o: %.c
+       @if [ 'x${VERBOSE}' = x ];                               \
+        then                                                    \
+            echo "  CC    ${<}";                                \
+        else                                                    \
+            echo ${CC} ${CFLAGS} -D${COMPILER} -o ${@} -c ${<}; \
+        fi
+       @${CC} ${CFLAGS} -D${COMPILER} -o ${@} -c ${<}
+ifeq (${COMPILER}, rvds)
+       @mv -f ${notdir ${@:.o=.d}} ${COMPILER}
+endif
+
+#******************************************************************************
+#
+# The rule for building the object file from each assembly source file.
+#
+#******************************************************************************
+${COMPILER}/%.o: %.S
+       @if [ 'x${VERBOSE}' = x ];                               \
+        then                                                    \
+            echo "  CC    ${<}";                                \
+        else                                                    \
+            echo ${CC} ${AFLAGS} -D${COMPILER} -o ${@} -c ${<}; \
+        fi
+ifeq (${COMPILER}, rvds)
+       @${CC} ${AFLAGS} -D${COMPILER} -E ${<} > ${@:.o=_.S}
+       @${CC} ${AFLAGS} -o ${@} -c ${@:.o=_.S}
+       @rm ${@:.o=_.S}
+       @${CC} ${AFLAGS} -D${COMPILER} --md -E ${<}
+       @sed 's,<stdout>,${@},g' ${notdir ${<:.S=.d}} > ${@:.o=.d}
+       @rm ${notdir ${<:.S=.d}}
+endif
+ifeq (${COMPILER}, gcc)
+       @${CC} ${AFLAGS} -D${COMPILER} -o ${@} -c ${<}
+endif
+
+#******************************************************************************
+#
+# The rule for creating an object library.
+#
+#******************************************************************************
+${COMPILER}/%.a:
+       @if [ 'x${VERBOSE}' = x ];     \
+        then                          \
+            echo "  AR    ${@}";      \
+        else                          \
+            echo ${AR} -cr ${@} ${^}; \
+        fi
+       @${AR} -cr ${@} ${^}
+
+#******************************************************************************
+#
+# The rule for linking the application.
+#
+#******************************************************************************
+${COMPILER}/%.axf:
+       @if [ 'x${VERBOSE}' = x ]; \
+        then                      \
+            echo "  LD    ${@}";  \
+        fi
+ifeq (${COMPILER}, gcc)
+       @if [ 'x${VERBOSE}' != x ];                           \
+        then                                                 \
+            echo ${LD} -T ${SCATTER_${notdir ${@:.axf=}}}    \
+                       --entry ${ENTRY_${notdir ${@:.axf=}}} \
+                       ${LDFLAGSgcc_${notdir ${@:.axf=}}}    \
+                       ${LDFLAGS} -o ${@} ${^}               \
+                       '${LIBC}' '${LIBGCC}';                \
+        fi
+       @${LD} -T ${SCATTER_${notdir ${@:.axf=}}}    \
+              --entry ${ENTRY_${notdir ${@:.axf=}}} \
+              ${LDFLAGSgcc_${notdir ${@:.axf=}}}    \
+              ${LDFLAGS} -o ${@} ${^}               \
+              '${LIBC}' '${LIBGCC}'
+       @${OBJCOPY} -O binary ${@} ${@:.axf=.bin}
+endif