nes-proj/arch/cpu/native/Makefile.native

64 lines
1.4 KiB
Makefile
Raw Normal View History

CONTIKI_CPU_DIRS = . net dev
CONTIKI_SOURCEFILES += rtimer-arch.c watchdog.c eeprom.c int-master.c
CONTIKI_SOURCEFILES += gpio-hal-arch.c
### Compiler definitions
CC ?= gcc
ifdef LD_OVERRIDE
LD = $(LD_OVERRIDE)
else
LD = gcc
endif
AS ?= as
NM ?= nm
OBJCOPY ?= objcopy
STRIP ?= strip
ifeq ($(WERROR),1)
CFLAGSWERROR=-Werror
endif
CFLAGSNO = -Wall -g -I/usr/local/include $(CFLAGSWERROR)
CFLAGS += $(CFLAGSNO)
### Are we building with code size optimisations?
SMALL ?= 0
# The optimizations on native platform cannot be enabled in GCC (not Clang) versions less than 7.2
GCC_IS_CLANG := $(shell gcc --version 2> /dev/null | grep clang)
ifneq ($(GCC_IS_CLANG),)
NATIVE_CAN_OPTIIMIZE = 1
else
GCC_VERSION := $(shell gcc -dumpfullversion -dumpversion | cut -b1-3)
ifeq ($(shell expr $(GCC_VERSION) \>= 7.2), 1)
NATIVE_CAN_OPTIIMIZE = 1
else
NATIVE_CAN_OPTIIMIZE = 0
endif
endif
ifeq ($(NATIVE_CAN_OPTIIMIZE),1)
ifeq ($(SMALL),1)
CFLAGS += -Os
else
CFLAGS += -O2
endif
endif
2013-02-26 19:29:04 +00:00
ifeq ($(HOST_OS),Darwin)
2018-04-01 13:01:31 +00:00
AROPTS = -rc
LDFLAGS_WERROR := -Wl,-fatal_warnings
LDFLAGS += -Wl,-flat_namespace,-map,$(CONTIKI_NG_PROJECT_MAP)
CFLAGS += -DHAVE_SNPRINTF=1 -U__ASSERT_USE_STDERR
else
ifeq ($(HOST_OS),Linux)
LDFLAGS += -Wl,-Map=$(CONTIKI_NG_PROJECT_MAP),-export-dynamic
endif
endif
2017-10-08 12:47:34 +00:00
MAKE_MAC ?= MAKE_MAC_NULLMAC
### Compilation rules
%.so: $(OBJECTDIR)/%.o
2017-10-08 12:47:34 +00:00
$(LD) -shared -o $@ $^