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}