]> git.sur5r.net Git - freertos/blob - Demo/WizNET_DEMO_GCC_ARM7/Makefile
First version under SVN is V4.0.1
[freertos] / Demo / WizNET_DEMO_GCC_ARM7 / Makefile
1 #       FreeRTOS V4.0.1 - copyright (C) 2003-2006 Richard Barry.\r
2 #\r
3 #       This file is part of the FreeRTOS distribution.\r
4 #\r
5 #       FreeRTOS is free software; you can redistribute it and/or modify\r
6 #       it under the terms of the GNU General Public License as published by\r
7 #       the Free Software Foundation; either version 2 of the License, or\r
8 #       (at your option) any later version.\r
9 #\r
10 #       FreeRTOS is distributed in the hope that it will be useful,\r
11 #       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 #       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 #       GNU General Public License for more details.\r
14 #\r
15 #       You should have received a copy of the GNU General Public License\r
16 #       along with FreeRTOS; if not, write to the Free Software\r
17 #       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
18 #\r
19 #       A special exception to the GPL can be applied should you wish to distribute\r
20 #       a combined work that includes FreeRTOS, without being obliged to provide\r
21 #       the source code for any proprietary components.  See the licensing section \r
22 #       of http://www.FreeRTOS.org for full details of how and when the exception\r
23 #       can be applied.\r
24 #\r
25 #       ***************************************************************************\r
26 #       See http://www.FreeRTOS.org for documentation, latest information, license \r
27 #       and contact details.  Please ensure to read the configuration and relevant \r
28 #       port sections of the online documentation.\r
29 #       ***************************************************************************\r
30 \r
31 \r
32 CC=arm-elf-gcc\r
33 OBJCOPY=arm-elf-objcopy\r
34 ARCH=arm-elf-ar\r
35 CRT0=boot.s\r
36 USE_THUMB_MODE=YES\r
37 DEBUG=-g\r
38 OPTIM=-Os\r
39 RUN_MODE=RUN_FROM_ROM\r
40 LDSCRIPT=lpc2106-rom.ld\r
41 \r
42 \r
43 #\r
44 # CFLAGS common to both the THUMB and ARM mode builds\r
45 #\r
46 CFLAGS=-Wall -D $(RUN_MODE) -D GCC_ARM7 -I. -I../../Source/include \\r
47                 -I../Common/include $(DEBUG) -mcpu=arm7tdmi -T$(LDSCRIPT) \\r
48                 -Wcast-align $(OPTIM)\r
49 \r
50 ifeq ($(USE_THUMB_MODE),YES)\r
51         CFLAGS += -mthumb-interwork -D THUMB_INTERWORK\r
52         THUMB_FLAGS=-mthumb\r
53 endif\r
54 \r
55 \r
56 LINKER_FLAGS=-Xlinker -oWebServeDemo.elf -Xlinker -M -Xlinker -Map=WebServeDemo.map\r
57 \r
58 #\r
59 # Source files that can be built to THUMB mode.\r
60 #\r
61 THUMB_SRC = \\r
62 ../../Source/tasks.c \\r
63 ../../Source/queue.c \\r
64 ../../Source/list.c \\r
65 ../../Source/portable/MemMang/heap_2.c \\r
66 ../../Source/portable/GCC/ARM7_LPC2000/port.c \\r
67 ../Common/Minimal/flash.c \\r
68 ../Common/Minimal/dynamic.c \\r
69 ../Common/Minimal/semtest.c \\r
70 ../Common/Minimal/PollQ.c \\r
71 ../Common/Minimal/BlockQ.c \\r
72 ../Common/Minimal/integer.c \\r
73 ../ARM7_LPC2106_GCC/ParTest/ParTest.c \\r
74 main.c \\r
75 TCP.c \\r
76 HTTP_Serv.c \\r
77 i2c.c\r
78 \r
79 #\r
80 # Source files that must be built to ARM mode.\r
81 #\r
82 ARM_SRC = \\r
83 ../../Source/portable/GCC/ARM7_LPC2000/portISR.c \\r
84 i2cISR.c \\r
85 TCPISR.c\r
86 \r
87 #\r
88 # Define all object files.\r
89 #\r
90 ARM_OBJ = $(ARM_SRC:.c=.o)\r
91 THUMB_OBJ = $(THUMB_SRC:.c=.o)\r
92 \r
93 WebServeDemo.hex : WebServeDemo.elf\r
94         $(OBJCOPY) WebServeDemo.elf -O ihex WebServeDemo.hex\r
95 \r
96 WebServeDemo.elf : $(ARM_OBJ) $(THUMB_OBJ) $(CRT0) Makefile\r
97         $(CC) $(CFLAGS) $(ARM_OBJ) $(THUMB_OBJ) -nostartfiles $(CRT0) $(LINKER_FLAGS)\r
98 \r
99 $(THUMB_OBJ) : %.o : %.c $(LDSCRIPT) Makefile\r
100         $(CC) -c $(THUMB_FLAGS) $(CFLAGS) $< -o $@\r
101 \r
102 $(ARM_OBJ) : %.o : %.c $(LDSCRIPT) Makefile\r
103         $(CC) -c $(CFLAGS) $< -o $@\r
104 \r
105 clean :\r
106         touch makefile\r
107 \r
108 \r
109 \r
110 \r
111 \r
112 \r
113 \r
114         \r
115 \r
116 \r