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}
|