]> begriffs open source - cmsis-freertos/blob - Demo/WizNET_DEMO_GCC_ARM7/Makefile
Update cmsis_os2.c
[cmsis-freertos] / Demo / WizNET_DEMO_GCC_ARM7 / 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 CC=arm-elf-gcc
56 OBJCOPY=arm-elf-objcopy
57 ARCH=arm-elf-ar
58 CRT0=boot.s
59 USE_THUMB_MODE=YES
60 DEBUG=-g
61 OPTIM=-Os
62 RUN_MODE=RUN_FROM_ROM
63 LDSCRIPT=lpc2106-rom.ld
64
65
66 #
67 # CFLAGS common to both the THUMB and ARM mode builds
68 #
69 CFLAGS=-Wall -D $(RUN_MODE) -D GCC_ARM7 -I. -I../../Source/include \
70                 -I../Common/include $(DEBUG) -mcpu=arm7tdmi -T$(LDSCRIPT) \
71                 -Wcast-align $(OPTIM) -fomit-frame-pointer
72
73 ifeq ($(USE_THUMB_MODE),YES)
74         CFLAGS += -mthumb-interwork -D THUMB_INTERWORK
75         THUMB_FLAGS=-mthumb
76 endif
77
78
79 LINKER_FLAGS=-Xlinker -oWebServeDemo.elf -Xlinker -M -Xlinker -Map=WebServeDemo.map
80
81 #
82 # Source files that can be built to THUMB mode.
83 #
84 THUMB_SRC = \
85 ../../Source/tasks.c \
86 ../../Source/queue.c \
87 ../../Source/list.c \
88 ../../Source/portable/MemMang/heap_2.c \
89 ../../Source/portable/GCC/ARM7_LPC2000/port.c \
90 ../Common/Minimal/flash.c \
91 ../Common/Minimal/dynamic.c \
92 ../Common/Minimal/semtest.c \
93 ../Common/Minimal/PollQ.c \
94 ../Common/Minimal/BlockQ.c \
95 ../Common/Minimal/integer.c \
96 ../ARM7_LPC2106_GCC/ParTest/ParTest.c \
97 main.c \
98 TCP.c \
99 HTTP_Serv.c \
100 i2c.c
101
102 #
103 # Source files that must be built to ARM mode.
104 #
105 ARM_SRC = \
106 ../../Source/portable/GCC/ARM7_LPC2000/portISR.c \
107 i2cISR.c \
108 TCPISR.c
109
110 #
111 # Define all object files.
112 #
113 ARM_OBJ = $(ARM_SRC:.c=.o)
114 THUMB_OBJ = $(THUMB_SRC:.c=.o)
115
116 WebServeDemo.hex : WebServeDemo.elf
117         $(OBJCOPY) WebServeDemo.elf -O ihex WebServeDemo.hex
118
119 WebServeDemo.elf : $(ARM_OBJ) $(THUMB_OBJ) $(CRT0) Makefile
120         $(CC) $(CFLAGS) $(ARM_OBJ) $(THUMB_OBJ) -nostartfiles $(CRT0) $(LINKER_FLAGS)
121
122 $(THUMB_OBJ) : %.o : %.c $(LDSCRIPT) Makefile
123         $(CC) -c $(THUMB_FLAGS) $(CFLAGS) $< -o $@
124
125 $(ARM_OBJ) : %.o : %.c $(LDSCRIPT) Makefile
126         $(CC) -c $(CFLAGS) $< -o $@
127
128 clean :
129         touch makefile
130
131
132
133
134
135
136
137         
138
139