From 2cd3f04fc6c391f1c137a9bd2236eea88dc22453 Mon Sep 17 00:00:00 2001 From: Ludwig Ortmann Date: Thu, 27 Feb 2014 10:30:30 +0100 Subject: [PATCH] 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. --- boards/native/Makefile | 6 ++++++ boards/native/Makefile.include | 9 +++++++-- boards/native/drivers/Makefile | 5 +++++ cpu/native/Makefile | 6 ++---- cpu/native/Makefile.include | 2 +- cpu/native/net/Makefile | 6 ++---- cpu/native/rtc/Makefile | 5 +++++ 7 files changed, 28 insertions(+), 11 deletions(-) diff --git a/boards/native/Makefile b/boards/native/Makefile index 08503227da..6f167afc4b 100644 --- a/boards/native/Makefile +++ b/boards/native/Makefile @@ -7,5 +7,11 @@ all: $(BINDIR)$(MODULE).a include $(RIOTBASE)/Makefile.base +$(BINDIR)%.o: %.c + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$*.o + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c > $(BINDIR)$*.d + @printf "$(BINDIR)" | cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d + + clean:: @for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ; diff --git a/boards/native/Makefile.include b/boards/native/Makefile.include index e0915728f1..753b118b24 100644 --- a/boards/native/Makefile.include +++ b/boards/native/Makefile.include @@ -1,4 +1,7 @@ -export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include +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 @@ -23,7 +26,9 @@ export ASFLAGS = export DEBUGGER_FLAGS = $(ELF) export VALGRIND_FLAGS ?= --track-origins=yes all-valgrind: export CFLAGS += -DHAVE_VALGRIND_H -g -all-valgrind: export INCLUDES += $(shell pkg-config valgrind --cflags) +all-valgrind: export NATIVEINCLUDES += $(shell pkg-config valgrind --cflags) + +export INCLUDES += $(NATIVEINCLUDES) # backward compatability with glibc <= 2.17 for native ifeq ($(CPU),native) diff --git a/boards/native/drivers/Makefile b/boards/native/drivers/Makefile index 9dd5bad5e4..bde1eecb40 100644 --- a/boards/native/drivers/Makefile +++ b/boards/native/drivers/Makefile @@ -4,3 +4,8 @@ all: $(BINDIR)$(MODULE).a @for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ; include $(RIOTBASE)/Makefile.base + +$(BINDIR)%.o: %.c + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$*.o + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c > $(BINDIR)$*.d + @printf "$(BINDIR)" | cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d diff --git a/cpu/native/Makefile b/cpu/native/Makefile index 6ff5992f33..21500211a1 100644 --- a/cpu/native/Makefile +++ b/cpu/native/Makefile @@ -1,7 +1,5 @@ MODULE = cpu -EXCLUDES := -I$(RIOTBASE)/sys/posix/% - DIRS = ifneq (,$(filter rtc,$(USEMODULE))) DIRS += rtc @@ -16,8 +14,8 @@ all: $(BINDIR)$(MODULE).a include $(RIOTBASE)/Makefile.base $(BINDIR)%.o: %.c - $(AD)$(CC) $(CFLAGS) $(filter-out $(EXCLUDES),$(INCLUDES)) $(BOARDINCLUDE) $(PROJECTINCLUDE) $(CPUINCLUDE) -c $*.c -o $(BINDIR)$*.o - @$(CC) $(CFLAGS) $(INCLUDES) $(BOARDINCLUDE) $(PROJECTINCLUDE) $(CPUINCLUDE) -MM $*.c > $(BINDIR)$*.d + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$*.o + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c > $(BINDIR)$*.d @printf "$(BINDIR)" | cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d diff --git a/cpu/native/Makefile.include b/cpu/native/Makefile.include index 193530d2a4..bc0429d201 100644 --- a/cpu/native/Makefile.include +++ b/cpu/native/Makefile.include @@ -1 +1 @@ -export INCLUDES += -I$(RIOTCPU)/native/include +export NATIVEINCLUDES += -I$(RIOTCPU)/native/include -I$(RIOTBASE)/sys/include diff --git a/cpu/native/net/Makefile b/cpu/native/net/Makefile index 16c11eebde..6f69094f82 100644 --- a/cpu/native/net/Makefile +++ b/cpu/native/net/Makefile @@ -1,10 +1,8 @@ -EXCLUDES := -I$(RIOTBASE)/sys/posix/% - MODULE = nativenet include $(MAKEBASE)/Makefile.base $(BINDIR)%.o: %.c - $(AD)$(CC) $(CFLAGS) $(filter-out $(EXCLUDES),$(INCLUDES)) $(BOARDINCLUDE) $(PROJECTINCLUDE) $(CPUINCLUDE) -c $*.c -o $(BINDIR)$*.o - @$(CC) $(CFLAGS) $(INCLUDES) $(BOARDINCLUDE) $(PROJECTINCLUDE) $(CPUINCLUDE) -MM $*.c > $(BINDIR)$*.d + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$*.o + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c > $(BINDIR)$*.d @printf "$(BINDIR)" | cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d diff --git a/cpu/native/rtc/Makefile b/cpu/native/rtc/Makefile index 4d24181c99..13b8ace18b 100644 --- a/cpu/native/rtc/Makefile +++ b/cpu/native/rtc/Makefile @@ -1,3 +1,8 @@ MODULE =rtc include $(MAKEBASE)/Makefile.base + +$(BINDIR)%.o: %.c + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$*.o + $(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c > $(BINDIR)$*.d + @printf "$(BINDIR)" | cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d