mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-01-18 12:52:44 +01:00
2cd3f04fc6
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.
66 lines
1.6 KiB
Makefile
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)
|