52 lines
1.4 KiB
Makefile
52 lines
1.4 KiB
Makefile
#
|
|
# Makefile for PIC32MX795F512L
|
|
# @author Giovanni Pellerano <giovanni.pellerano@evilaliv3.org>
|
|
#
|
|
# $Id: Makefile.pic32,v 1.0 2012/12/03 09:00:00 evilaliv3 Exp $
|
|
#
|
|
|
|
PIC32_MODEL=32MX795F512L
|
|
CFLAGS += -O1 -fno-strict-aliasing -G7 -Wall -I /opt/microchip/xc32/v1.11/pic32mx/include/ $(CONTIKI_PLAT_DEFS)
|
|
CFLAGS += -ffunction-sections
|
|
|
|
### Define the CPU directory
|
|
CONTIKI_CPU=$(CONTIKI)/cpu/pic32
|
|
|
|
### Define the cpu dirs and source files
|
|
CONTIKI_CPU_DIRS = . lib
|
|
|
|
CPU_LIBS = $(notdir $(wildcard $(CONTIKI_CPU)/lib/*.c))
|
|
|
|
CONTIKI_SOURCEFILES += pic32.c clock.c watchdog.c rtimer-arch.c $(CPU_LIBS) debug-uart.c slip-uart.c
|
|
|
|
### Compiler definitions
|
|
CC = xc32-gcc
|
|
LD = xc32-gcc
|
|
AS = xc32-as
|
|
AR = xc32-ar
|
|
OBJCOPY = xc32-objcopy
|
|
STRIP = xc32-strip
|
|
|
|
ifneq ($(PIC32_MODEL),)
|
|
CFLAGS += -mprocessor=$(PIC32_MODEL)
|
|
LDFLAGS += -mprocessor=$(PIC32_MODEL) -Wl,-Map=contiki-$(TARGET).map -s
|
|
LDFLAGS += -Wl,--defsym,_min_stack_size=4096 -Wl,--gc-sections
|
|
endif
|
|
|
|
### Compilation rules
|
|
|
|
%.so: $(OBJECTDIR)/%.o
|
|
$(LD) -shared -o $@ $^
|
|
|
|
ifdef CORE
|
|
.PHONY: symbols.c symbols.h
|
|
symbols.c symbols.h:
|
|
$(NM) -C $(CORE) | grep -v @ | grep -v dll_crt0 | awk -f $(CONTIKI)/tools/mknmlist > symbols.c
|
|
else
|
|
symbols.c symbols.h:
|
|
cp ${CONTIKI}/tools/empty-symbols.c symbols.c
|
|
cp ${CONTIKI}/tools/empty-symbols.h symbols.h
|
|
endif
|
|
|
|
contiki-$(TARGET).a: ${addprefix $(OBJECTDIR)/,symbols.o}
|