1 |
583 |
jeremybenn |
# Hey Emacs, this is a -*- makefile -*-
|
2 |
|
|
|
3 |
|
|
# The purpose of this file is to define the build configuration variables used
|
4 |
|
|
# by the generic Makefile. See Makefile header for further information.
|
5 |
|
|
|
6 |
|
|
# Copyright (c) 2007, Atmel Corporation All rights reserved.
|
7 |
|
|
#
|
8 |
|
|
# Redistribution and use in source and binary forms, with or without
|
9 |
|
|
# modification, are permitted provided that the following conditions are met:
|
10 |
|
|
#
|
11 |
|
|
# 1. Redistributions of source code must retain the above copyright notice, this
|
12 |
|
|
# list of conditions and the following disclaimer.
|
13 |
|
|
#
|
14 |
|
|
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
15 |
|
|
# this list of conditions and the following disclaimer in the documentation and/
|
16 |
|
|
# or other materials provided with the distribution.
|
17 |
|
|
#
|
18 |
|
|
# 3. The name of ATMEL may not be used to endorse or promote products derived
|
19 |
|
|
# from this software without specific prior written permission.
|
20 |
|
|
#
|
21 |
|
|
# THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
22 |
|
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
23 |
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
|
24 |
|
|
# SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
|
25 |
|
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
26 |
|
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
27 |
|
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
28 |
|
|
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
29 |
|
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
30 |
|
|
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
# Base paths
|
34 |
|
|
PRJ_PATH = ../..
|
35 |
|
|
APPS_PATH = $(PRJ_PATH)/APPLICATIONS
|
36 |
|
|
BRDS_PATH = $(PRJ_PATH)/BOARDS
|
37 |
|
|
COMP_PATH = $(PRJ_PATH)/COMPONENTS
|
38 |
|
|
DRVR_PATH = $(PRJ_PATH)/DRIVERS
|
39 |
|
|
SERV_PATH = $(PRJ_PATH)/SERVICES
|
40 |
|
|
UTIL_PATH = $(PRJ_PATH)/UTILS
|
41 |
|
|
|
42 |
|
|
# Demo paths
|
43 |
|
|
FREERTOS_PATH = ../../../..
|
44 |
|
|
FREERTOS_PORT_PATH = $(FREERTOS_PATH)/Source/portable/GCC/AVR32_UC3
|
45 |
|
|
FREERTOS_MEM_PATH = $(FREERTOS_PATH)/Source/portable/MemMang
|
46 |
|
|
DEMO_PATH = ../..
|
47 |
|
|
ETH_PATH = $(DEMO_PATH)/NETWORK
|
48 |
|
|
WEB_PATH = $(ETH_PATH)/BasicWEB
|
49 |
|
|
TFTP_PATH = $(ETH_PATH)/BasicTFTP
|
50 |
|
|
SMTP_PATH = $(ETH_PATH)/BasicSMTP
|
51 |
|
|
LWIP_PATH = $(FREERTOS_PATH)/Demo/Common/ethernet/lwIP
|
52 |
|
|
LWIP_PORT_PATH = $(ETH_PATH)/lwip-port/AT32UC3A
|
53 |
|
|
|
54 |
|
|
# CPU architecture: {ap|uc}
|
55 |
|
|
ARCH = uc
|
56 |
|
|
|
57 |
|
|
# Part: {none|ap7xxx|uc3xxxxx}
|
58 |
|
|
PART = uc3a0512
|
59 |
|
|
|
60 |
|
|
# Flash memories: [{cfi|internal}@address,size]...
|
61 |
|
|
FLASH = internal@0x80000000,512Kb
|
62 |
|
|
|
63 |
|
|
# Clock source to use when programming: [{xtal|extclk|int}]
|
64 |
|
|
PROG_CLOCK = xtal
|
65 |
|
|
|
66 |
|
|
# Device/Platform/Board include path
|
67 |
|
|
PLATFORM_INC_PATH = \
|
68 |
|
|
$(BRDS_PATH)/
|
69 |
|
|
|
70 |
|
|
# Target name: {*.a|*.elf}
|
71 |
|
|
TARGET = $(PART)-lwipdemo.elf
|
72 |
|
|
|
73 |
|
|
# Definitions: [-D name[=definition]...] [-U name...]
|
74 |
|
|
# Things that might be added to DEFS:
|
75 |
|
|
# BOARD Board used: {EVKxxxx}
|
76 |
|
|
# EXT_BOARD Extension board used (if any): {EXTxxxx}
|
77 |
|
|
DEFS = -D BOARD=EVK1100 -D FREERTOS_USED -D HTTP_USED=1 -D TFTP_USED=1 -D SMTP_USED=0
|
78 |
|
|
|
79 |
|
|
# Include path
|
80 |
|
|
INC_PATH = \
|
81 |
|
|
$(UTIL_PATH)/ \
|
82 |
|
|
$(UTIL_PATH)/PREPROCESSOR/ \
|
83 |
|
|
$(SERV_PATH)/USB/CLASS/DFU/EXAMPLES/ISP/BOOT/ \
|
84 |
|
|
$(DRVR_PATH)/INTC/ \
|
85 |
|
|
$(DRVR_PATH)/TC/ \
|
86 |
|
|
$(DRVR_PATH)/PM/ \
|
87 |
|
|
$(DRVR_PATH)/GPIO/ \
|
88 |
|
|
$(DRVR_PATH)/FLASHC/ \
|
89 |
|
|
$(DRVR_PATH)/MACB/ \
|
90 |
|
|
$(DEMO_PATH)/ \
|
91 |
|
|
$(FREERTOS_PATH)/Source/include/ \
|
92 |
|
|
$(FREERTOS_PATH)/Demo/Common/include/ \
|
93 |
|
|
$(FREERTOS_PORT_PATH)/ \
|
94 |
|
|
$(FREERTOS_MEM_PATH)/ \
|
95 |
|
|
$(ETH_PATH)/ \
|
96 |
|
|
$(LWIP_PATH)/include/ \
|
97 |
|
|
$(LWIP_PATH)/include/ipv4/ \
|
98 |
|
|
$(LWIP_PORT_PATH)/ \
|
99 |
|
|
$(WEB_PATH)/ \
|
100 |
|
|
$(TFTP_PATH)/ \
|
101 |
|
|
$(SMTP_PATH)/
|
102 |
|
|
|
103 |
|
|
# C source files
|
104 |
|
|
|
105 |
|
|
LWIP_SRC = \
|
106 |
|
|
$(LWIP_PATH)/core/inet.c \
|
107 |
|
|
$(LWIP_PATH)/core/mem.c \
|
108 |
|
|
$(LWIP_PATH)/core/memp.c \
|
109 |
|
|
$(LWIP_PATH)/core/netif.c \
|
110 |
|
|
$(LWIP_PATH)/core/pbuf.c \
|
111 |
|
|
$(LWIP_PATH)/core/raw.c \
|
112 |
|
|
$(LWIP_PATH)/core/stats.c \
|
113 |
|
|
$(LWIP_PATH)/core/sys.c \
|
114 |
|
|
$(LWIP_PATH)/core/tcp.c \
|
115 |
|
|
$(LWIP_PATH)/core/tcp_in.c \
|
116 |
|
|
$(LWIP_PATH)/core/tcp_out.c \
|
117 |
|
|
$(LWIP_PATH)/core/ipv4/ip.c \
|
118 |
|
|
$(LWIP_PATH)/core/ipv4/ip_addr.c \
|
119 |
|
|
$(LWIP_PATH)/core/ipv4/icmp.c \
|
120 |
|
|
$(LWIP_PATH)/api/sockets.c \
|
121 |
|
|
$(LWIP_PATH)/api/tcpip.c \
|
122 |
|
|
$(LWIP_PATH)/api/api_msg.c \
|
123 |
|
|
$(LWIP_PATH)/api/err.c \
|
124 |
|
|
$(LWIP_PATH)/api/api_lib.c \
|
125 |
|
|
$(LWIP_PATH)/netif/etharp.c \
|
126 |
|
|
$(LWIP_PATH)/core/udp.c \
|
127 |
|
|
$(LWIP_PATH)/core/ipv4/ip_frag.c
|
128 |
|
|
|
129 |
|
|
CSRCS = \
|
130 |
|
|
$(BRDS_PATH)/EVK1100/led.c \
|
131 |
|
|
$(DRVR_PATH)/INTC/intc.c \
|
132 |
|
|
$(DRVR_PATH)/TC/tc.c \
|
133 |
|
|
$(DRVR_PATH)/PM/pm.c \
|
134 |
|
|
$(DRVR_PATH)/MACB/macb.c \
|
135 |
|
|
$(DRVR_PATH)/GPIO/gpio.c \
|
136 |
|
|
$(DRVR_PATH)/FLASHC/flashc.c \
|
137 |
|
|
$(DEMO_PATH)/main.c \
|
138 |
|
|
$(DEMO_PATH)/PARTEST/ParTest.c \
|
139 |
|
|
$(DEMO_PATH)/SERIAL/serial.c \
|
140 |
|
|
$(FREERTOS_PATH)/Source/tasks.c \
|
141 |
|
|
$(FREERTOS_PATH)/Source/queue.c \
|
142 |
|
|
$(FREERTOS_PATH)/Source/list.c \
|
143 |
|
|
$(FREERTOS_PATH)/Source/croutine.c \
|
144 |
|
|
$(FREERTOS_PATH)/Demo/Common/Minimal/flash.c \
|
145 |
|
|
$(FREERTOS_PORT_PATH)/port.c \
|
146 |
|
|
$(FREERTOS_MEM_PATH)/heap_3.c \
|
147 |
|
|
$(LWIP_SRC) \
|
148 |
|
|
$(LWIP_PORT_PATH)/sys_arch.c \
|
149 |
|
|
$(LWIP_PORT_PATH)/ethernetif.c \
|
150 |
|
|
$(WEB_PATH)/BasicWEB.c \
|
151 |
|
|
$(TFTP_PATH)/BasicTFTP.c \
|
152 |
|
|
$(SMTP_PATH)/BasicSMTP.c \
|
153 |
|
|
$(ETH_PATH)/ethernet.c \
|
154 |
|
|
$(DEMO_PATH)/printf-stdarg.c
|
155 |
|
|
|
156 |
|
|
# Assembler source files
|
157 |
|
|
ASSRCS = \
|
158 |
|
|
$(SERV_PATH)/USB/CLASS/DFU/EXAMPLES/ISP/BOOT/trampoline.S \
|
159 |
|
|
$(FREERTOS_PORT_PATH)/exception.S
|
160 |
|
|
|
161 |
|
|
# Library path
|
162 |
|
|
LIB_PATH =
|
163 |
|
|
|
164 |
|
|
# Libraries to link with the project
|
165 |
|
|
LIBS =
|
166 |
|
|
|
167 |
|
|
# Linker script file if any
|
168 |
|
|
LINKER_SCRIPT = $(UTIL_PATH)/LINKER_SCRIPTS/AT32UC3A/0512/GCC/link_uc3a0512.lds
|
169 |
|
|
|
170 |
|
|
# Options to request or suppress warnings: [-fsyntax-only] [-pedantic[-errors]] [-w] [-Wwarning...]
|
171 |
|
|
# For further details, refer to the chapter "GCC Command Options" of the GCC manual.
|
172 |
|
|
WARNINGS = -Wall
|
173 |
|
|
|
174 |
|
|
# Options for debugging: [-g]...
|
175 |
|
|
# For further details, refer to the chapter "GCC Command Options" of the GCC manual.
|
176 |
|
|
DEBUG = -g
|
177 |
|
|
|
178 |
|
|
# Options that control optimization: [-O[0|1|2|3|s]]...
|
179 |
|
|
# For further details, refer to the chapter "GCC Command Options" of the GCC manual.
|
180 |
|
|
OPTIMIZATION = -O0 -ffunction-sections -fdata-sections
|
181 |
|
|
|
182 |
|
|
# Extra flags to use when preprocessing
|
183 |
|
|
CPP_EXTRA_FLAGS =
|
184 |
|
|
|
185 |
|
|
# Extra flags to use when compiling
|
186 |
|
|
C_EXTRA_FLAGS =
|
187 |
|
|
|
188 |
|
|
# Extra flags to use when assembling
|
189 |
|
|
AS_EXTRA_FLAGS =
|
190 |
|
|
|
191 |
|
|
# Extra flags to use when linking
|
192 |
|
|
LD_EXTRA_FLAGS = -Wl,--gc-sections -Wl,-e,_trampoline
|
193 |
|
|
|
194 |
|
|
# Documentation path
|
195 |
|
|
DOC_PATH = ./DOC/
|
196 |
|
|
|
197 |
|
|
# Documentation configuration file
|
198 |
|
|
DOC_CFG = ./doxyfile.doxygen
|