OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ARM7_LPC2106_GCC/] [Makefile] - Blame information for rev 831

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 577 jeremybenn
#/*
2
#    FreeRTOS V6.1.1 - Copyright (C) 2011 Real Time Engineers Ltd.
3
#
4
#    ***************************************************************************
5
#    *                                                                         *
6
#    * If you are:                                                             *
7
#    *                                                                         *
8
#    *    + New to FreeRTOS,                                                   *
9
#    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *
10
#    *    + Looking for basic training,                                        *
11
#    *    + Wanting to improve your FreeRTOS skills and productivity           *
12
#    *                                                                         *
13
#    * then take a look at the FreeRTOS books - available as PDF or paperback  *
14
#    *                                                                         *
15
#    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *
16
#    *                  http://www.FreeRTOS.org/Documentation                  *
17
#    *                                                                         *
18
#    * A pdf reference manual is also available.  Both are usually delivered   *
19
#    * to your inbox within 20 minutes to two hours when purchased between 8am *
20
#    * and 8pm GMT (although please allow up to 24 hours in case of            *
21
#    * exceptional circumstances).  Thank you for your support!                *
22
#    *                                                                         *
23
#    ***************************************************************************
24
#
25
#    This file is part of the FreeRTOS distribution.
26
#
27
#    FreeRTOS is free software; you can redistribute it and/or modify it under
28
#    the terms of the GNU General Public License (version 2) as published by the
29
#    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
30
#    ***NOTE*** The exception to the GPL is included to allow you to distribute
31
#    a combined work that includes FreeRTOS without being obliged to provide the
32
#    source code for proprietary components outside of the FreeRTOS kernel.
33
#    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
34
#    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
35
#    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
36
#    more details. You should have received a copy of the GNU General Public
37
#    License and the FreeRTOS license exception along with FreeRTOS; if not it
38
#    can be viewed here: http://www.freertos.org/a00114.html and also obtained
39
#    by writing to Richard Barry, contact details for whom are available on the
40
#    FreeRTOS WEB site.
41
#
42
#    1 tab == 4 spaces!
43
#
44
#    http://www.FreeRTOS.org - Documentation, latest information, license and
45
#    contact details.
46
#
47
#    http://www.SafeRTOS.com - A version that is certified for use in safety
48
#    critical systems.
49
#
50
#    http://www.OpenRTOS.com - Commercial support, development, porting,
51
#    licensing and training services.
52
#*/
53
 
54
CC=arm-elf-gcc
55
OBJCOPY=arm-elf-objcopy
56
ARCH=arm-elf-ar
57
CRT0=boot.s
58
WARNINGS=-Wall -Wextra -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare \
59
                -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused
60
 
61
#
62
# CFLAGS common to both the THUMB and ARM mode builds
63
#
64
CFLAGS=$(WARNINGS) -D $(RUN_MODE) -D GCC_ARM7 -I. -I../../Source/include \
65
                -I../Common/include $(DEBUG) -mcpu=arm7tdmi -T$(LDSCRIPT) \
66
                 $(OPTIM) -fomit-frame-pointer -fno-strict-aliasing -fno-dwarf2-cfi-asm
67
 
68
ifeq ($(USE_THUMB_MODE),YES)
69
        CFLAGS += -mthumb-interwork -D THUMB_INTERWORK
70
        THUMB_FLAGS=-mthumb
71
endif
72
 
73
 
74
LINKER_FLAGS=-Xlinker -ortosdemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map
75
 
76
RTOS_SOURCE_DIR=../../Source
77
DEMO_SOURCE_DIR=../Common/Minimal
78
#
79
# Source files that can be built to THUMB mode.
80
#
81
THUMB_SRC = \
82
main.c \
83
serial/serial.c \
84
ParTest/ParTest.c \
85
$(DEMO_SOURCE_DIR)/integer.c \
86
$(DEMO_SOURCE_DIR)/flash.c \
87
$(DEMO_SOURCE_DIR)/PollQ.c \
88
$(DEMO_SOURCE_DIR)/comtest.c \
89
$(DEMO_SOURCE_DIR)/flop.c \
90
$(DEMO_SOURCE_DIR)/semtest.c \
91
$(DEMO_SOURCE_DIR)/dynamic.c \
92
$(DEMO_SOURCE_DIR)/BlockQ.c \
93
$(RTOS_SOURCE_DIR)/tasks.c \
94
$(RTOS_SOURCE_DIR)/queue.c \
95
$(RTOS_SOURCE_DIR)/list.c \
96
$(RTOS_SOURCE_DIR)/portable/MemMang/heap_2.c \
97
$(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC2000/port.c
98
 
99
#
100
# Source files that must be built to ARM mode.
101
#
102
ARM_SRC = \
103
$(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC2000/portISR.c \
104
serial/serialISR.c
105
 
106
#
107
# Define all object files.
108
#
109
ARM_OBJ = $(ARM_SRC:.c=.o)
110
THUMB_OBJ = $(THUMB_SRC:.c=.o)
111
 
112
rtosdemo.hex : rtosdemo.elf
113
        $(OBJCOPY) rtosdemo.elf -O ihex rtosdemo.hex
114
 
115
rtosdemo.elf : $(ARM_OBJ) $(THUMB_OBJ) $(CRT0) Makefile
116
        $(CC) $(CFLAGS) $(ARM_OBJ) $(THUMB_OBJ) -nostartfiles $(CRT0) $(LINKER_FLAGS)
117
 
118
$(THUMB_OBJ) : %.o : %.c $(LDSCRIPT) Makefile
119
        $(CC) -c $(THUMB_FLAGS) $(CFLAGS) $< -o $@
120
 
121
$(ARM_OBJ) : %.o : %.c $(LDSCRIPT) Makefile
122
        $(CC) -c $(CFLAGS) $< -o $@
123
 
124
clean :
125
        rm -rf $(ARM_OBJ) $(THUMB_OBJ)
126
        touch Makefile
127
 
128
 
129
 
130
 
131
 
132
 
133
 
134
 
135
 
136
 
137
 
138
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.