48 lines
1.0 KiB
Makefile
48 lines
1.0 KiB
Makefile
CONTIKI_CPU_DIRS = . net dev
|
|
|
|
CONTIKI_SOURCEFILES += mtarch.c rtimer-arch.c elfloader-stub.c watchdog.c eeprom.c
|
|
|
|
### Compiler definitions
|
|
CC ?= gcc
|
|
ifdef LD_OVERRIDE
|
|
LD = $(LD_OVERRIDE)
|
|
else
|
|
LD = gcc
|
|
endif
|
|
AS ?= as
|
|
NM ?= nm
|
|
OBJCOPY ?= objcopy
|
|
STRIP ?= strip
|
|
ifdef WERROR
|
|
CFLAGSWERROR=-Werror -pedantic -std=c99 -Werror
|
|
endif
|
|
CFLAGSNO = -Wall -g -I/usr/local/include $(CFLAGSWERROR)
|
|
CFLAGS += $(CFLAGSNO) -O
|
|
|
|
ifeq ($(HOST_OS),Darwin)
|
|
AROPTS = -r
|
|
LDFLAGS += -Wl,-flat_namespace
|
|
CFLAGS += -DHAVE_SNPRINTF=1 -U__ASSERT_USE_STDERR
|
|
else
|
|
ifeq ($(HOST_OS),Linux)
|
|
LDFLAGS += -Wl,-Map=contiki-$(TARGET).map,-export-dynamic
|
|
endif
|
|
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}
|