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 08503227da87..6f167afc4b5f 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 e0915728f106..753b118b24a1 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 9dd5bad5e4f8..bde1eecb40e5 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 6ff5992f334d..21500211a1b3 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 193530d2a4a2..bc0429d201e0 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 16c11eebdefc..6f69094f8246 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 4d24181c9931..13b8ace18bb1 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