1 | RTOS_SOURCE_DIR=../../../Source
|
2 | DEMO_COMMON_DIR=../../Common/Minimal
|
3 | DEMO_INCLUDE_DIR=../../Common/include
|
4 | UIP_COMMON_DIR=../../Common/ethernet/uIP/uip-1.0/uip
|
5 |
|
6 | CC=arm-elf-gcc
|
7 | OBJCOPY=arm-elf-objcopy
|
8 | LDSCRIPT=lpc2368.ld
|
9 |
|
10 | LINKER_FLAGS=-mthumb -nostartfiles -Xlinker -oRTOSDemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map
|
11 |
|
12 | DEBUG=-g
|
13 | OPTIM=-O1
|
14 |
|
15 |
|
16 | CFLAGS= $(DEBUG) \
|
17 | $(OPTIM) \
|
18 | -T$(LDSCRIPT) \
|
19 | -I . \
|
20 | -I $(RTOS_SOURCE_DIR)/include \
|
21 | -I $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx \
|
22 | -I $(DEMO_INCLUDE_DIR) \
|
23 | -I ./webserver \
|
24 | -I $(UIP_COMMON_DIR) \
|
25 | -D ROWLEY_LPC23xx \
|
26 | -D THUMB_INTERWORK \
|
27 | -mcpu=arm7tdmi \
|
28 | -D PACK_STRUCT_END=__attribute\(\(packed\)\) \
|
29 | -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) \
|
30 | -fomit-frame-pointer \
|
31 | -mthumb-interwork
|
32 |
|
33 | THUMB_SOURCE= \
|
34 | main.c \
|
35 | ./ParTest/ParTest.c \
|
36 | ./LCD/portlcd.c \
|
37 | $(DEMO_COMMON_DIR)/BlockQ.c \
|
38 | $(DEMO_COMMON_DIR)/blocktim.c \
|
39 | $(DEMO_COMMON_DIR)/flash.c \
|
40 | $(DEMO_COMMON_DIR)/integer.c \
|
41 | $(DEMO_COMMON_DIR)/GenQTest.c \
|
42 | $(DEMO_COMMON_DIR)/QPeek.c \
|
43 | $(DEMO_COMMON_DIR)/dynamic.c \
|
44 | ./webserver/uIP_Task.c \
|
45 | ./webserver/emac.c \
|
46 | ./webserver/httpd.c \
|
47 | ./webserver/httpd-cgi.c \
|
48 | ./webserver/httpd-fs.c \
|
49 | ./webserver/http-strings.c \
|
50 | $(UIP_COMMON_DIR)/uip_arp.c \
|
51 | $(UIP_COMMON_DIR)/psock.c \
|
52 | $(UIP_COMMON_DIR)/timer.c \
|
53 | $(UIP_COMMON_DIR)/uip.c \
|
54 | $(RTOS_SOURCE_DIR)/list.c \
|
55 | $(RTOS_SOURCE_DIR)/queue.c \
|
56 | $(RTOS_SOURCE_DIR)/tasks.c \
|
57 | $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx/port.c \
|
58 | $(RTOS_SOURCE_DIR)/portable/MemMang/heap_2.c
|
59 |
|
60 | ARM_SOURCE= \
|
61 | $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx/portISR.c \
|
62 | ./webserver/EMAC_ISR.c
|
63 |
|
64 | THUMB_OBJS = $(THUMB_SOURCE:.c=.o)
|
65 | ARM_OBJS = $(ARM_SOURCE:.c=.o)
|
66 |
|
67 |
|
68 | all: RTOSDemo.bin
|
69 |
|
70 | RTOSDemo.bin : RTOSDemo.hex
|
71 | $(OBJCOPY) RTOSDemo.elf -O binary RTOSDemo.bin
|
72 |
|
73 | RTOSDemo.hex : RTOSDemo.elf
|
74 | $(OBJCOPY) RTOSDemo.elf -O ihex RTOSDemo.hex
|
75 |
|
76 | RTOSDemo.elf : $(THUMB_OBJS) $(ARM_OBJS) boot.s Makefile
|
77 | $(CC) $(CFLAGS) $(ARM_OBJS) $(THUMB_OBJS) $(LIBS) boot.s $(LINKER_FLAGS)
|
78 |
|
79 | $(THUMB_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
|
80 | $(CC) -c $(CFLAGS) -mthumb $< -o $@
|
81 |
|
82 | $(ARM_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
|
83 | $(CC) -c $(CFLAGS) $< -o $@
|
84 |
|
85 | clean :
|
86 | rm $(THUMB_OBJS)
|
87 | rm $(ARM_OBJS)
|
88 | touch Makefile
|
89 | rm RTOSDemo.elf
|
90 | rm RTOSDemo.hex
|