1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/boards/native/Makefile.include
Ludwig Ortmann 2cd3f04fc6 Don't use INCLUDES for building any native at all.
native modules will never need the dynamic INCLUDES, so we define our
own NATIVEINCLUDES. Due to the current make structure, the only way to
not use INCLUDES is to redefine the build rules.
2014-02-27 10:30:30 +01:00

66 lines
1.6 KiB
Makefile

export NATIVEINCLUDES = -I$(RIOTBOARD)/$(BOARD)/include/
export NATIVEINCLUDES += -I$(RIOTBASE)/core/include/
export NATIVEINCLUDES += -I$(RIOTBASE)/drivers/include/
export CPU = native
export ELF = $(BINDIR)$(PROJECT).elf
# toolchain:
export PREFIX =
export CC ?= $(PREFIX)gcc
export AR = $(PREFIX)ar
export AS = $(PREFIX)as
export LINK = $(PREFIX)gcc
export SIZE = $(PREFIX)size
export OBJCOPY = true
export DEBUGGER = gdb
export TERMPROG = $(ELF)
export FLASHER = true
export VALGRIND ?= valgrind
# flags:
export CFLAGS += -Wall -Wextra -pedantic -m32
export LINKFLAGS += -m32 -gc -ldl
export ASFLAGS =
export DEBUGGER_FLAGS = $(ELF)
export VALGRIND_FLAGS ?= --track-origins=yes
all-valgrind: export CFLAGS += -DHAVE_VALGRIND_H -g
all-valgrind: export NATIVEINCLUDES += $(shell pkg-config valgrind --cflags)
export INCLUDES += $(NATIVEINCLUDES)
# backward compatability with glibc <= 2.17 for native
ifeq ($(CPU),native)
ifeq ($(shell uname -s),Linux)
ifeq ($(shell ldd --version | awk '/^ldd/{if ($$NF < 2.17) {print "yes"} else {print "no"} }'),yes)
LINKFLAGS += -lrt
endif
endif
endif
# clumsy way to enable building native on osx:
BUILDOSXNATIVE = 0
ifeq ($(CPU),native)
ifeq ($(shell uname -s),Darwin)
BUILDOSXNATIVE = 1
endif
endif
# set the tap interface for term/valgrind
ifneq (,$(filter nativenet,$(USEMODULE)))
export PORT ?= tap0
else
export PORT =
endif
all: # do not override first target
all-valgrind: all
valgrind:
# use this if you want to attach gdb from valgrind:
# echo 0 > /proc/sys/kernel/yama/ptrace_scope
# VALGRIND_FLAGS += --db-attach=yes
$(VALGRIND) $(VALGRIND_FLAGS) $(ELF) $(PORT)