2 # * FreeRTOS Kernel V10.2.1
\r
3 # * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
\r
5 # * Permission is hereby granted, free of charge, to any person obtaining a copy of
\r
6 # * this software and associated documentation files (the "Software"), to deal in
\r
7 # * the Software without restriction, including without limitation the rights to
\r
8 # * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
\r
9 # * the Software, and to permit persons to whom the Software is furnished to do so,
\r
10 # * subject to the following conditions:
\r
12 # * The above copyright notice and this permission notice shall be included in all
\r
13 # * copies or substantial portions of the Software.
\r
15 # * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
\r
16 # * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
\r
17 # * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
\r
18 # * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
\r
19 # * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
\r
20 # * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\r
22 # * http://www.FreeRTOS.org
\r
23 # * http://aws.amazon.com/freertos
\r
25 # * 1 tab == 4 spaces!
\r
29 RTOS_SOURCE_DIR=../../../Source
\r
30 DEMO_COMMON_DIR=../../Common/Minimal
\r
31 DEMO_INCLUDE_DIR=../../Common/include
\r
32 UIP_COMMON_DIR=../../Common/ethernet/uIP/uip-1.0/uip
\r
35 OBJCOPY=arm-elf-objcopy
\r
38 LINKER_FLAGS=-mthumb -nostartfiles -Xlinker -oRTOSDemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map
\r
48 -I $(RTOS_SOURCE_DIR)/include \
\r
49 -I $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx \
\r
50 -I $(DEMO_INCLUDE_DIR) \
\r
52 -I $(UIP_COMMON_DIR) \
\r
54 -D THUMB_INTERWORK \
\r
56 -D PACK_STRUCT_END=__attribute\(\(packed\)\) \
\r
57 -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) \
\r
58 -fomit-frame-pointer \
\r
60 -fno-dwarf2-cfi-asm \
\r
61 -fno-strict-aliasing
\r
65 ./ParTest/ParTest.c \
\r
67 $(DEMO_COMMON_DIR)/BlockQ.c \
\r
68 $(DEMO_COMMON_DIR)/blocktim.c \
\r
69 $(DEMO_COMMON_DIR)/flash.c \
\r
70 $(DEMO_COMMON_DIR)/integer.c \
\r
71 $(DEMO_COMMON_DIR)/GenQTest.c \
\r
72 $(DEMO_COMMON_DIR)/QPeek.c \
\r
73 $(DEMO_COMMON_DIR)/dynamic.c \
\r
74 ./webserver/uIP_Task.c \
\r
75 ./webserver/emac.c \
\r
76 ./webserver/httpd.c \
\r
77 ./webserver/httpd-cgi.c \
\r
78 ./webserver/httpd-fs.c \
\r
79 ./webserver/http-strings.c \
\r
80 $(UIP_COMMON_DIR)/uip_arp.c \
\r
81 $(UIP_COMMON_DIR)/psock.c \
\r
82 $(UIP_COMMON_DIR)/timer.c \
\r
83 $(UIP_COMMON_DIR)/uip.c \
\r
84 $(RTOS_SOURCE_DIR)/list.c \
\r
85 $(RTOS_SOURCE_DIR)/queue.c \
\r
86 $(RTOS_SOURCE_DIR)/tasks.c \
\r
87 $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx/port.c \
\r
88 $(RTOS_SOURCE_DIR)/portable/MemMang/heap_2.c \
\r
92 $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx/portISR.c \
\r
93 ./webserver/EMAC_ISR.c
\r
95 THUMB_OBJS = $(THUMB_SOURCE:.c=.o)
\r
96 ARM_OBJS = $(ARM_SOURCE:.c=.o)
\r
101 RTOSDemo.bin : RTOSDemo.hex
\r
102 $(OBJCOPY) RTOSDemo.elf -O binary RTOSDemo.bin
\r
104 RTOSDemo.hex : RTOSDemo.elf
\r
105 $(OBJCOPY) RTOSDemo.elf -O ihex RTOSDemo.hex
\r
107 RTOSDemo.elf : $(THUMB_OBJS) $(ARM_OBJS) boot.s Makefile
\r
108 $(CC) $(CFLAGS) $(ARM_OBJS) $(THUMB_OBJS) $(LIBS) boot.s $(LINKER_FLAGS)
\r
110 $(THUMB_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
\r
111 $(CC) -c $(CFLAGS) -mthumb $< -o $@
\r
113 $(ARM_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
\r
114 $(CC) -c $(CFLAGS) $< -o $@
\r