]> begriffs open source - cmsis-freertos/blob - Demo/ARM7_LPC2368_Eclipse/RTOSDemo/Makefile
Update cmsis_os2.c
[cmsis-freertos] / Demo / ARM7_LPC2368_Eclipse / RTOSDemo / Makefile
1 #/*
2 #    FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
3 #       
4 #
5 #    ***************************************************************************
6 #     *                                                                       *
7 #     *    FreeRTOS tutorial books are available in pdf and paperback.        *
8 #     *    Complete, revised, and edited pdf reference manuals are also       *
9 #     *    available.                                                         *
10 #     *                                                                       *
11 #     *    Purchasing FreeRTOS documentation will not only help you, by       *
12 #     *    ensuring you get running as quickly as possible and with an        *
13 #     *    in-depth knowledge of how to use FreeRTOS, it will also help       *
14 #     *    the FreeRTOS project to continue with its mission of providing     *
15 #     *    professional grade, cross platform, de facto standard solutions    *
16 #     *    for microcontrollers - completely free of charge!                  *
17 #     *                                                                       *
18 #     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *
19 #     *                                                                       *
20 #     *    Thank you for using FreeRTOS, and thank you for your support!      *
21 #     *                                                                       *
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 modification to the GPL is included to allow you to
31 #    distribute a combined work that includes FreeRTOS without being obliged to
32 #    provide the source code for proprietary components outside of the FreeRTOS
33 #    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
34 #    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
35 #    or 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
55 RTOS_SOURCE_DIR=../../../Source
56 DEMO_COMMON_DIR=../../Common/Minimal
57 DEMO_INCLUDE_DIR=../../Common/include
58 UIP_COMMON_DIR=../../Common/ethernet/uIP/uip-1.0/uip
59
60 CC=arm-elf-gcc
61 OBJCOPY=arm-elf-objcopy
62 LDSCRIPT=lpc2368.ld
63
64 LINKER_FLAGS=-mthumb -nostartfiles -Xlinker -oRTOSDemo.elf -Xlinker -M -Xlinker -Map=rtosdemo.map
65
66 DEBUG=-g
67 OPTIM=-O0
68
69
70 CFLAGS= $(DEBUG) \
71                 $(OPTIM) \
72                 -T$(LDSCRIPT) \
73                 -I . \
74                 -I $(RTOS_SOURCE_DIR)/include \
75                 -I $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx \
76                 -I $(DEMO_INCLUDE_DIR) \
77                 -I ./webserver \
78                 -I $(UIP_COMMON_DIR) \
79                 -D ROWLEY_LPC23xx \
80                 -D THUMB_INTERWORK \
81                 -mcpu=arm7tdmi \
82                 -D PACK_STRUCT_END=__attribute\(\(packed\)\) \
83                 -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) \
84                 -fomit-frame-pointer \
85                 -mthumb-interwork \
86                 -fno-dwarf2-cfi-asm \
87                 -fno-strict-aliasing
88                 
89 THUMB_SOURCE= \
90                 main.c \
91                 ./ParTest/ParTest.c \
92                 ./LCD/portlcd.c \
93                 $(DEMO_COMMON_DIR)/BlockQ.c \
94                 $(DEMO_COMMON_DIR)/blocktim.c \
95                 $(DEMO_COMMON_DIR)/flash.c \
96                 $(DEMO_COMMON_DIR)/integer.c \
97                 $(DEMO_COMMON_DIR)/GenQTest.c \
98                 $(DEMO_COMMON_DIR)/QPeek.c \
99                 $(DEMO_COMMON_DIR)/dynamic.c \
100                 ./webserver/uIP_Task.c \
101                 ./webserver/emac.c \
102                 ./webserver/httpd.c \
103                 ./webserver/httpd-cgi.c \
104                 ./webserver/httpd-fs.c \
105                 ./webserver/http-strings.c \
106                 $(UIP_COMMON_DIR)/uip_arp.c \
107                 $(UIP_COMMON_DIR)/psock.c \
108                 $(UIP_COMMON_DIR)/timer.c \
109                 $(UIP_COMMON_DIR)/uip.c \
110                 $(RTOS_SOURCE_DIR)/list.c \
111                 $(RTOS_SOURCE_DIR)/queue.c \
112                 $(RTOS_SOURCE_DIR)/tasks.c \
113                 $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx/port.c \
114                 $(RTOS_SOURCE_DIR)/portable/MemMang/heap_2.c \
115                 syscalls.c
116
117 ARM_SOURCE= \
118                 $(RTOS_SOURCE_DIR)/portable/GCC/ARM7_LPC23xx/portISR.c \
119                 ./webserver/EMAC_ISR.c
120
121 THUMB_OBJS = $(THUMB_SOURCE:.c=.o)
122 ARM_OBJS = $(ARM_SOURCE:.c=.o)
123
124
125 all: RTOSDemo.bin
126
127 RTOSDemo.bin : RTOSDemo.hex
128         $(OBJCOPY) RTOSDemo.elf -O binary RTOSDemo.bin
129          
130 RTOSDemo.hex : RTOSDemo.elf
131         $(OBJCOPY) RTOSDemo.elf -O ihex RTOSDemo.hex
132
133 RTOSDemo.elf : $(THUMB_OBJS) $(ARM_OBJS) boot.s Makefile
134         $(CC) $(CFLAGS) $(ARM_OBJS) $(THUMB_OBJS) $(LIBS) boot.s $(LINKER_FLAGS) 
135
136 $(THUMB_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
137         $(CC) -c $(CFLAGS) -mthumb $< -o $@
138
139 $(ARM_OBJS) : %.o : %.c Makefile FreeRTOSConfig.h
140         $(CC) -c $(CFLAGS) $< -o $@
141
142 clean :
143         rm $(THUMB_OBJS)
144         rm $(ARM_OBJS)
145         touch Makefile
146         rm RTOSDemo.elf
147         rm RTOSDemo.hex
148         
149         
150         
151
152
153
154