osd-contiki/cpu/msp430/Makefile.msp430

103 lines
2.7 KiB
Makefile
Raw Normal View History

2011-01-19 08:30:31 +01:00
# $Id: Makefile.msp430,v 1.35 2011/01/19 07:30:31 adamdunkels Exp $
2006-10-09 11:15:48 +02:00
ifdef nodeid
CFLAGS += -DNODEID=$(nodeid)
endif
.SUFFIXES:
### Define the CPU directory
CONTIKI_CPU=$(CONTIKI)/cpu/msp430
### Define the source files we have in the MSP430 port
CONTIKI_CPU_DIRS = . dev
MSP430 = msp430.c flash.c clock.c leds.c leds-arch.c \
2010-08-24 18:23:20 +02:00
watchdog.c lpm.c mtarch.c rtimer-arch.c
UIPDRIVERS = me.c me_tabs.c slip.c crc16.c
2006-12-18 16:17:47 +01:00
ELFLOADER = elfloader.c elfloader-msp430.c symtab.c
CONTIKI_TARGET_SOURCEFILES += $(MSP430) \
$(SYSAPPS) $(ELFLOADER) \
$(UIPDRIVERS)
CONTIKI_SOURCEFILES += $(CONTIKI_TARGET_SOURCEFILES)
### Compiler definitions
CC = msp430-gcc
LD = msp430-gcc
AS = msp430-as
AR = msp430-ar
2007-03-23 00:57:33 +01:00
NM = msp430-nm
OBJCOPY = msp430-objcopy
STRIP = msp430-strip
BSL = msp430-bsl
ifdef WERROR
CFLAGSWERROR=-Werror
endif
CFLAGSNO = -Wall -mmcu=$(MCU) -g $(CFLAGSWERROR)
CFLAGS += $(CFLAGSNO) -Os
LDFLAGS += -mmcu=$(MCU) -Wl,-Map=contiki-$(TARGET).map
### These flags can reduce the code size and RAM usage with up to 10%
2011-01-19 08:30:31 +01:00
ifdef SMALL
CFLAGS += -ffunction-sections
LDFLAGS += -Wl,--gc-sections,--undefined=_reset_vector__,--undefined=InterruptVectors,--undefined=_copy_data_init__,--undefined=_clear_bss_init__,--undefined=_end_of_init__
endif # SMALL
PROJECT_OBJECTFILES += ${addprefix $(OBJECTDIR)/,$(CONTIKI_TARGET_MAIN:.c=.o)}
### Compilation rules
%-stripped.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
$(STRIP) --strip-unneeded -g -x $@
%.cm: %.co
$(LD) -i -r --unresolved-symbols=ignore-in-object-files -mmsp430x149 -o $@ $^
$(STRIP) --strip-unneeded -g -x $@
%-stripped.o: %.o
$(STRIP) --strip-unneeded -g -x -o $@ $<
%.o: ${CONTIKI_TARGET}/loader/%.S
$(AS) -o $(notdir $(<:.S=.o)) $<
%.firmware: %.${TARGET}
mv $< $@
%.ihex: %.$(TARGET)
$(OBJCOPY) $^ -O ihex $@
%.mspsim: %.${TARGET}
2008-11-24 12:09:36 +01:00
java -jar ${CONTIKI}/tools/mspsim/mspsim.jar -platform=${TARGET} $<
mspsim-maptable: contiki-${TARGET}.map
java -classpath ${CONTIKI}/tools/mspsim/mspsim.jar se.sics.mspsim.util.MapTable $<
core-labels.o: core.${TARGET}
${CONTIKI}/tools/msp430-make-labels core.${TARGET} > core-labels.S
$(AS) -o $@ core-labels.S
# cp core-labels.o app/
core-globals.o: core.${TARGET}
${CONTIKI}/tools/msp430-make-globals core.${TARGET} > core-globals.S
$(AS) -o $@ core-globals.S
loader-init.o: ${CONTIKI_TARGET}/loader/loader-init.S
$(AS) -o $(notdir $(<:.S=.o)) $<
# cp loader-init.o build-app/
.PHONY: symbols.c symbols.h
ifdef CORE
symbols.c:
# @${CONTIKI}/tools/msp430-make-symbols $(CORE)
$(NM) $(CORE) | awk -f $(CONTIKI)/tools/mknmlist > symbols.c
else
symbols.c symbols.h:
@${CONTIKI}/tools/make-empty-symbols
endif