]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/lwIP_Demo_Rowley_ARM7/makefile
Prepare for V9.0.0 release:
[freertos] / FreeRTOS / Demo / lwIP_Demo_Rowley_ARM7 / makefile
1 #/*\r
2 #    FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.\r
3 #       \r
4 #\r
5 #    ***************************************************************************\r
6 #     *                                                                       *\r
7 #     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
8 #     *    Complete, revised, and edited pdf reference manuals are also       *\r
9 #     *    available.                                                         *\r
10 #     *                                                                       *\r
11 #     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
12 #     *    ensuring you get running as quickly as possible and with an        *\r
13 #     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
14 #     *    the FreeRTOS project to continue with its mission of providing     *\r
15 #     *    professional grade, cross platform, de facto standard solutions    *\r
16 #     *    for microcontrollers - completely free of charge!                  *\r
17 #     *                                                                       *\r
18 #     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
19 #     *                                                                       *\r
20 #     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
21 #     *                                                                       *\r
22 #    ***************************************************************************\r
23 #\r
24 #\r
25 #    This file is part of the FreeRTOS distribution.\r
26 #\r
27 #    FreeRTOS is free software; you can redistribute it and/or modify it under\r
28 #    the terms of the GNU General Public License (version 2) as published by the\r
29 #    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
30 #    >>>NOTE<<< The modification to the GPL is included to allow you to\r
31 #    distribute a combined work that includes FreeRTOS without being obliged to\r
32 #    provide the source code for proprietary components outside of the FreeRTOS\r
33 #    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
34 #    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
35 #    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
36 #    more details. You should have received a copy of the GNU General Public\r
37 #    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
38 #    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
39 #    by writing to Richard Barry, contact details for whom are available on the\r
40 #    FreeRTOS WEB site.\r
41 #\r
42 #    1 tab == 4 spaces!\r
43 #\r
44 #    http://www.FreeRTOS.org - Documentation, latest information, license and\r
45 #    contact details.\r
46 #\r
47 #    http://www.SafeRTOS.com - A version that is certified for use in safety\r
48 #    critical systems.\r
49 #\r
50 #    http://www.OpenRTOS.com - Commercial support, development, porting,\r
51 #    licensing and training services.\r
52 #*/\r
53 \r
54 CC=arm-elf-gcc\r
55 OBJCOPY=arm-elf-objcopy\r
56 ARCH=arm-elf-ar\r
57 CRT0=boot.s\r
58 DEBUG=-g\r
59 OPTIM=-O0\r
60 LDSCRIPT=atmel-rom.ld\r
61 \r
62 #\r
63 # CFLAGS common to both the THUMB and ARM mode builds\r
64 #\r
65 \r
66 CFLAGS= \\r
67 -I.  \\r
68 -I./EMAC  \\r
69 -I../Common/include  \\r
70 -I./USB  \\r
71 -I./lwip-1.1.0/src/include  \\r
72 -I./lwip-1.1.0/contrib/port/FreeRTOS/AT91SAM7X  \\r
73 -I../../Source/include  \\r
74 -I../../Source/portable/GCC/ARM7_AT91SAM7S  \\r
75 -I./lwip-1.1.0/src/include/ipv4 \\r
76 -Wall  \\r
77 -Wextra  \\r
78 -Wstrict-prototypes  \\r
79 -Wmissing-prototypes  \\r
80 -Wmissing-declarations  \\r
81 -Wno-strict-aliasing  \\r
82 -D SAM7_GCC  \\r
83 -D THUMB_INTERWORK \\r
84 -mthumb-interwork \\r
85 -mcpu=arm7tdmi  \\r
86 -T$(LDSCRIPT) \\r
87 $(DEBUG)  \\r
88 $(OPTIM) \\r
89 -fomit-frame-pointer\r
90 \r
91 THUMB_FLAGS=-mthumb\r
92 LINKER_FLAGS=-Xlinker -ortosdemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map\r
93 \r
94 #\r
95 # Source files that can be built to THUMB mode.\r
96 #\r
97 FREERTOS_THUMB_SRC= \\r
98   ../../Source/tasks.c \\r
99   ../../Source/queue.c \\r
100   ../../Source/list.c \\r
101   ../../Source/portable/GCC/ARM7_AT91SAM7S/port.c\r
102 \r
103 DEMO_APP_THMUB_SRC= \\r
104   ../../Source/portable/MemMang/heap_2.c \\r
105   ParTest/ParTest.c \\r
106   main.c \\r
107   ../Common/Minimal/flash.c \\r
108   ../Common/Minimal/BlockQ.c \\r
109   ../Common/Minimal/integer.c \\r
110   ../Common/Minimal/PollQ.c \\r
111   ../Common/Minimal/semtest.c \\r
112   BasicWEB.c \\r
113   USB/USB-CDC.c \r
114 \r
115 LWIP_THUMB_SRC= \\r
116   lwip-1.1.0/src/core/tcp_out.c \\r
117   lwip-1.1.0/src/core/inet.c \\r
118   lwip-1.1.0/src/core/mem.c \\r
119   lwip-1.1.0/src/core/memp.c \\r
120   lwip-1.1.0/src/core/netif.c \\r
121   lwip-1.1.0/src/core/pbuf.c \\r
122   lwip-1.1.0/src/core/raw.c \\r
123   lwip-1.1.0/src/core/stats.c \\r
124   lwip-1.1.0/src/core/sys.c \\r
125   lwip-1.1.0/src/core/tcp.c \\r
126   lwip-1.1.0/src/core/tcp_in.c \\r
127   lwip-1.1.0/src/core/ipv4/ip.c \\r
128   lwip-1.1.0/src/core/ipv4/ip_addr.c \\r
129   lwip-1.1.0/src/core/ipv4/icmp.c \\r
130   lwip-1.1.0/src/api/tcpip.c \\r
131   lwip-1.1.0/src/api/api_msg.c \\r
132   lwip-1.1.0/src/api/err.c \\r
133   lwip-1.1.0/src/api/api_lib.c \\r
134   lwip-1.1.0/src/netif/etharp.c \\r
135   lwip-1.1.0/contrib/port/FreeRTOS/AT91SAM7X/sys_arch.c \\r
136   lwip-1.1.0/src/netif/ethernetif.c \\r
137   EMAC/SAM7_EMAC.c \\r
138   lwip-1.1.0/src/core/udp.c \\r
139   lwip-1.1.0/src/core/ipv4/ip_frag.c\r
140 \r
141 #\r
142 # Source files that must be built to ARM mode.\r
143 #\r
144 ARM_SRC= \\r
145   ../../Source/portable/GCC/ARM7_AT91SAM7S/portISR.c \\r
146   EMAC/SAM7_EMAC_ISR.c \\r
147   USB/USBIsr.c \\r
148   Cstartup_SAM7.c  \r
149 \r
150 \r
151 #\r
152 # Define all object files.\r
153 #\r
154 ARM_OBJ = $(ARM_SRC:.c=.o)\r
155 FREERTOS_THUMB_OBJ = $(FREERTOS_THUMB_SRC:.c=.o)\r
156 DEMO_APP_THMUB_OBJ = $(DEMO_APP_THMUB_SRC:.c=.o)\r
157 LWIP_THUMB_OBJ = $(LWIP_THUMB_SRC:.c=.o)\r
158 \r
159 rtosdemo.bin : rtosdemo.elf\r
160         $(OBJCOPY) rtosdemo.elf -O binary rtosdemo.bin\r
161 \r
162 rtosdemo.hex : rtosdemo.elf\r
163         $(OBJCOPY) rtosdemo.elf -O ihex rtosdemo.hex\r
164 \r
165 rtosdemo.elf : $(ARM_OBJ) $(DEMO_APP_THMUB_OBJ) $(LWIP_THUMB_OBJ) $(FREERTOS_THUMB_OBJ) $(CRT0) Makefile FreeRTOSConfig.h\r
166         $(CC) $(CFLAGS) $(ARM_OBJ) $(DEMO_APP_THMUB_OBJ) $(LWIP_THUMB_OBJ) $(FREERTOS_THUMB_OBJ) -nostartfiles $(CRT0) $(LINKER_FLAGS)\r
167 \r
168 $(DEMO_APP_THMUB_OBJ)  : %.o : %.c $(LDSCRIPT) Makefile FreeRTOSConfig.h\r
169         $(CC) -c $(THUMB_FLAGS) $(CFLAGS) $< -o $@\r
170 \r
171 $(LWIP_THUMB_OBJ)  : %.o : %.c $(LDSCRIPT) Makefile FreeRTOSConfig.h\r
172         $(CC) -c $(THUMB_FLAGS) $(CFLAGS) $< -o $@\r
173 \r
174 $(FREERTOS_THUMB_OBJ)  : %.o : %.c $(LDSCRIPT) Makefile FreeRTOSConfig.h\r
175         $(CC) -c $(THUMB_FLAGS) $(CFLAGS) $< -o $@\r
176 \r
177 $(ARM_OBJ) : %.o : %.c $(LDSCRIPT) Makefile FreeRTOSConfig.h\r
178         $(CC) -c $(CFLAGS) $< -o $@\r
179 \r
180 clean :\r
181         touch Makefile\r
182 \r