118 lines
2.8 KiB
Makefile
118 lines
2.8 KiB
Makefile
#
|
|
# $Id: config.mk 4643 2010-12-20 12:10:41Z lottaviano $
|
|
# Copyright 2002,2003, 2004, 2006 Develer S.r.l. (http://www.develer.com/)
|
|
# All rights reserved.
|
|
#
|
|
# Author: Bernie Innocenti <bernie@codewiz.org>
|
|
# Based on: GCC-AVR standard Makefile part 1, Volker Oth 1/2000
|
|
#
|
|
|
|
#
|
|
# Programmer type
|
|
# see local pgm_config.mk for programmer customization.
|
|
|
|
OPTCFLAGS = -ffunction-sections -fdata-sections
|
|
#OPTCFLAGS = -funsafe-loop-optimizations
|
|
|
|
# For AVRStudio
|
|
#DEBUGCFLAGS = -gdwarf-2
|
|
|
|
# For GDB
|
|
DEBUGCFLAGS = -ggdb
|
|
|
|
#
|
|
# define some variables based on the AVR base path in $(AVR)
|
|
#
|
|
CC = gcc
|
|
CXX = g++
|
|
AR = ar
|
|
AS = $(CC) -x assembler-with-cpp
|
|
LD = $(CC)
|
|
LDXX = $(CXX)
|
|
OBJCOPY = objcopy
|
|
STRIP = strip
|
|
INSTALL = cp -a
|
|
RM = rm -f
|
|
RM_R = rm -rf
|
|
RN = mv
|
|
MKDIR_P = mkdir -p
|
|
SHELL = /bin/sh
|
|
CHECKER = sparse
|
|
DOXYGEN = doxygen
|
|
AVRDUDE = avrdude
|
|
FLEXCAT = $(top_srcdir)/tools/flexcat/flexcat
|
|
|
|
# For conversion from ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
|
|
COFFCONVERT=$(OBJCOPY) \
|
|
--debugging \
|
|
--change-section-address .data-0x800000 \
|
|
--change-section-address .bss-0x800000 \
|
|
--change-section-address .noinit-0x800000 \
|
|
--change-section-address .eeprom-0x810000
|
|
|
|
INCDIR = -I. -Ibertos -Ibertos/net/lwip/src/include -Ibertos/net/lwip/src/include/ipv4
|
|
LIBDIR = lib
|
|
OBJDIR = obj
|
|
OUTDIR = images
|
|
|
|
# output format can be srec, ihex (avrobj is always created)
|
|
FORMAT = srec
|
|
#FORMAT = ihex
|
|
|
|
# Compiler flags for generating dependencies
|
|
DEP_FLAGS = -MMD -MP
|
|
|
|
# Compiler flags for generating source listings
|
|
LIST_FLAGS = -Wa,-anhlmsd=$(@:.o=.lst) -dp
|
|
|
|
# Linker flags for generating map files
|
|
# Only in embedded related projects generate map files
|
|
MAP_FLAGS_EMB = -Wl,-Map=$(@:%.elf=%.map),--cref
|
|
MAP_FLAGS_HOST =
|
|
|
|
# Compiler warning flags for both C and C++
|
|
WARNFLAGS = \
|
|
-W -Wformat -Wall -Wundef -Wpointer-arith -Wcast-qual \
|
|
-Wcast-align -Wwrite-strings -Wsign-compare \
|
|
-Wmissing-noreturn \
|
|
-Wextra -Wstrict-aliasing=2 \
|
|
# -Wunsafe-loop-optimizations
|
|
|
|
# Compiler warning flags for C only
|
|
C_WARNFLAGS = \
|
|
-Wmissing-prototypes -Wstrict-prototypes
|
|
|
|
C_COMPILER_STD = -std=gnu99
|
|
|
|
# Default C preprocessor flags (for C, C++ and cpp+as)
|
|
CPPFLAGS = $(INCDIR)
|
|
|
|
# Default C compiler flags
|
|
CFLAGS = $(OPTCFLAGS) $(DEBUGCFLAGS) $(WARNFLAGS) $(C_WARNFLAGS) \
|
|
$(DEP_FLAGS) $(LIST_FLAGS) $(C_COMPILER_STD)
|
|
|
|
# Default C++ compiler flags
|
|
CXXFLAGS = $(OPTCFLAGS) $(DEBUGCFLAGS) $(WARNFLAGS) \
|
|
$(DEP_FLAGS) $(LIST_FLAGS)
|
|
|
|
# Default compiler assembly flags
|
|
CPPAFLAGS = $(DEBUGCFLAGS) -MMD
|
|
|
|
# Default assembler flags
|
|
ASFLAGS = $(DEBUGCFLAGS)
|
|
|
|
# Default linker flags
|
|
#LDFLAGS = $(MAP_FLAGS)
|
|
|
|
#bernie: does not complain for missing symbols!
|
|
LDFLAGS = -Wl,--gc-sections
|
|
|
|
# Flags for avrdude
|
|
AVRDUDEFLAGS = $(DPROG)
|
|
|
|
# additional libs
|
|
LIB = -lm
|
|
|
|
# Archiver flags
|
|
ARFLAGS = rcs
|