diff --git a/Makefile.include b/Makefile.include
index 99f8caf091973fb7da1299c91201f13fe70609e8..4d9f143c8e17b3a2b13b486bccc2a6d20f4abcd2 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -20,9 +20,9 @@ export CFLAGS
 export BINDIR =$(CURDIR)/bin/
 
 # mandatory includes!
+include $(RIOTBASE)/Makefile.modules
 include $(RIOTBOARD)/$(BOARD)/Makefile.include
 include $(RIOTCPU)/$(CPU)/Makefile.include
-include $(RIOTBASE)/Makefile.modules 
 
 # your binaries to link
 BASELIBS += $(BINDIR)$(BOARD)_base.a
diff --git a/boards/chronos/Makefile b/boards/chronos/Makefile
index 08503227da87bf13e8d5b73415be6753bf007748..30a260e0efc90978e66e37e09e151e2a6640d1d2 100644
--- a/boards/chronos/Makefile
+++ b/boards/chronos/Makefile
@@ -1,5 +1,6 @@
 MODULE =$(BOARD)_base
 
+INCLUDES += -I$(RIOTBOARD)/$(BOARD)/drivers/include
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
diff --git a/boards/chronos/Makefile.include b/boards/chronos/Makefile.include
index 299b631b518ad5a236329765763369b7a9e5922b..a034ee2409b4dbb6a3d30ef1d71deeb87409415e 100644
--- a/boards/chronos/Makefile.include
+++ b/boards/chronos/Makefile.include
@@ -1,4 +1,4 @@
-export INCLUDES += -I$(RIOTBOARD)/chronos/include -I$(RIOTBOARD)/chronos/drivers/include -I$(RIOTCPU)/cc430/include -I$(RIOTCPU)/msp430-common/include
+export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include
 
 ## the cpu to build for
 export CPU = cc430
diff --git a/boards/chronos/drivers/Makefile b/boards/chronos/drivers/Makefile
index 03df5e674537e161d57346373e41eb6d463d1523..3c61103789376cd5da8348c6f935fa70c4afe9b8 100644
--- a/boards/chronos/drivers/Makefile
+++ b/boards/chronos/drivers/Makefile
@@ -1,23 +1,5 @@
-SRC = $(wildcard *.c)
-OBJ = $(SRC:%.c=$(BINDIR)%.o)
-DEP = $(SRC:%.c=$(BINDIR)%.d)
+MODULE =$(BOARD)_base
 
-INCLUDES += -I$(RIOTBASE)/sys/include/ -I$(RIOTBASE)/drivers/cc110x_ng/include/
-
-$(BINDIR)chronos_drivers.a: $(OBJ)
-	$(AR) rcs $(BINDIR)chronos_base.a $(OBJ)
-
-# pull in dependency info for *existing* .o files
--include $(OBJ:.o=.d)
-
-# compile and generate dependency info
-$(BINDIR)%.o: %.c
-	$(CC) $(CFLAGS) $(INCLUDES) $(BOARDINCLUDE) $(PROJECTINCLUDE) $(CPUINCLUDE) -c $*.c -o $(BINDIR)$*.o
-	$(CC) $(CFLAGS) $(INCLUDES) $(BOARDINCLUDE) $(PROJECTINCLUDE) $(CPUINCLUDE) -MM $*.c > $(BINDIR)$*.d
-	@printf "$(BINDIR)" | cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d
-
-# remove compilation products
-
-clean:
-	rm -f $(OBJ) $(DEP)
+INCLUDES += -I$(RIOTBASE)/drivers/cc110x_ng/include
 
+include $(RIOTBASE)/Makefile.base
diff --git a/boards/msb-430h/Makefile b/boards/msb-430h/Makefile
index 0a7ebeb6372570bfb26360c69be87b9e92fc0902..4adc54edf52f7b7f96eeed7b7c544a05ea355003 100644
--- a/boards/msb-430h/Makefile
+++ b/boards/msb-430h/Makefile
@@ -2,6 +2,8 @@ MODULE =$(BOARD)_base
 
 DIRS = $(RIOTBOARD)/msb-430-common 
 
+INCLUDES += -I$(RIOTBASE)/drivers/cc110x_ng/include
+
 all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
 
diff --git a/boards/msb-430h/Makefile.include b/boards/msb-430h/Makefile.include
index df267881e0249afb220f73ae0454e72b65427711..10ae0808755e310a92572c300ad80b640b9551b0 100644
--- a/boards/msb-430h/Makefile.include
+++ b/boards/msb-430h/Makefile.include
@@ -1,4 +1,4 @@
-export INCLUDES += -I$(RIOTBOARD)/msb-430h/include -I$(RIOTBOARD)/msb-430-common/include -I$(RIOTBASE)/drivers/cc110x_ng/include
+export INCLUDES += -I$(RIOTBOARD)/msb-430h/include
 include $(RIOTBOARD)/$(BOARD)/Makefile.dep
 
 include $(RIOTBOARD)/msb-430-common/Makefile.include
diff --git a/boards/msba2-common/Makefile.include b/boards/msba2-common/Makefile.include
index bb11356664040305f729dbc2807a158ec1e2437b..5ce4335a0022ebfe665e808976fee33d8239f577 100644
--- a/boards/msba2-common/Makefile.include
+++ b/boards/msba2-common/Makefile.include
@@ -23,5 +23,6 @@ export HEXFILE = bin/$(PROJECT).hex
 export FFLAGS = $(PORT) $(BINDIR)$(PROJECT).hex
 include $(RIOTBOARD)/msba2-common/Makefile.dep
 
-export INCLUDES += -I$(RIOTCPU)/lpc2387/include -I$(RIOTBOARD)/msba2-common/include -I$(RIOTBOARD)/msba2-common/drivers/include/
+export INCLUDES += -I$(RIOTBOARD)/msba2-common/include -I$(RIOTBOARD)/msba2-common/drivers/include
+
 export OFLAGS = -O ihex
diff --git a/boards/msba2-common/drivers/Makefile b/boards/msba2-common/drivers/Makefile
index 2fefbf04b40fbfea29f53f488072cafc69863747..c97bf04c92ead8bc2e74cbe148f106c760b8adc7 100644
--- a/boards/msba2-common/drivers/Makefile
+++ b/boards/msba2-common/drivers/Makefile
@@ -1,5 +1,6 @@
 MODULE =$(BOARD)_base
 include $(RIOTBOARD)/$(BOARD)/Makefile.include
+
 INCLUDES += -I$(RIOTBASE)/drivers/cc110x_ng/include
 
 include $(RIOTBASE)/Makefile.base
diff --git a/boards/native/Makefile.include b/boards/native/Makefile.include
index 94e9f3a967d8019b161a1b1a86c2c708b784a2b3..46231f89dc58d96f0e826beb8b65c76487e86298 100644
--- a/boards/native/Makefile.include
+++ b/boards/native/Makefile.include
@@ -1,4 +1,4 @@
-export INCLUDES += -I$(RIOTBOARD)/native/include
+export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/include
 export CPU = native
 
 # toolchain config
diff --git a/boards/native/drivers/native-uart0.c b/boards/native/drivers/native-uart0.c
index 4ea76dca6d2df878ddd0e2936a17b448f2b8a7e5..74f2328b0d1d0edcc5866b8bbf8717bbd715eb03 100644
--- a/boards/native/drivers/native-uart0.c
+++ b/boards/native/drivers/native-uart0.c
@@ -225,6 +225,7 @@ void handle_uart_sock()
     _native_uart_conn = s;
 }
 
+#ifdef MODULE_UART0
 void _native_handle_uart0_input()
 {
     if (FD_ISSET(STDIN_FILENO, &_native_rfds)) {
@@ -250,6 +251,7 @@ int _native_set_uart_fds(void)
         return ((STDIN_FILENO > _native_uart_sock) ? STDIN_FILENO : _native_uart_sock);
     }
 }
+#endif
 
 void _native_init_uart0(char *stdiotype, char *ioparam)
 {
diff --git a/boards/wsn430-common/Makefile.include b/boards/wsn430-common/Makefile.include
index 923f694fe4509cdd406b26f207a9fc6039d81d6c..0bbd9e8f1dccdda2386485ff8b878e3392b62137 100644
--- a/boards/wsn430-common/Makefile.include
+++ b/boards/wsn430-common/Makefile.include
@@ -20,6 +20,6 @@ endif
 export HEXFILE = bin/$(PROJECT).hex
 export FFLAGS = -d $(PORT) -j uif "prog $(HEXFILE)"
 
-export INCLUDES += -I $(RIOTCPU)/msp430-common/include/ -I$(RIOTBASE)/sys/net/include/
+export INCLUDES += -I$(RIOTBOARD)/wsn430-common/include
 export OFLAGS = -O ihex
 
diff --git a/boards/wsn430-v1_3b/Makefile b/boards/wsn430-v1_3b/Makefile
index 7f7fba05eafe74122353c887d150e61a6d9f8475..b7b75b794bbb240a78fab484470f99a9bcbf2808 100644
--- a/boards/wsn430-v1_3b/Makefile
+++ b/boards/wsn430-v1_3b/Makefile
@@ -1,6 +1,7 @@
 MODULE =$(BOARD)_base
 
 DIRS = $(RIOTBOARD)/wsn430-common
+INCLUDES += -I$(RIOTBASE)/drivers/cc110x_ng/include
 
 all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
diff --git a/boards/wsn430-v1_3b/Makefile.include b/boards/wsn430-v1_3b/Makefile.include
index b061a77ee0ac87b81a9c16e85b4e1dbd6df27fd4..ed87f884e39aba4c847458b621db4c24e282b54c 100644
--- a/boards/wsn430-v1_3b/Makefile.include
+++ b/boards/wsn430-v1_3b/Makefile.include
@@ -1,4 +1,4 @@
-export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_3b/include -I$(RIOTBOARD)/wsn430-common/include -I$(RIOTBASE)/drivers/cc110x_ng/include
+export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_3b/include
 
 include $(RIOTBOARD)/$(BOARD)/Makefile.dep
 include $(RIOTBOARD)/wsn430-common/Makefile.include
diff --git a/boards/wsn430-v1_4/Makefile.include b/boards/wsn430-v1_4/Makefile.include
index 5d8024da6eb45d090153d70ff8aea15a58330685..a5ba9a0c946b08c10f7bf43c4e2c468cefff75e6 100644
--- a/boards/wsn430-v1_4/Makefile.include
+++ b/boards/wsn430-v1_4/Makefile.include
@@ -1,4 +1,4 @@
-export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_4/include -I$(RIOTBOARD)/wsn430-common/include -I$(RIOTBASE)/drivers/cc2420/include
+export INCLUDES += -I$(RIOTBOARD)/wsn430-v1_4/include -I$(RIOTBOARD)/wsn430-common/include -I$(RIOTBASE)/drivers/cc2420/include -I$(RIOTBASE)/sys/net/include
 
 include $(RIOTBOARD)/$(BOARD)/Makefile.dep
 include $(RIOTBOARD)/wsn430-common/Makefile.include
diff --git a/cpu/arm_common/Makefile b/cpu/arm_common/Makefile
index c9bf68070cc17fc5e57211f85562b389661dd918..68ec505674baf8753271c0db4e1c89ec3e0fa7eb 100644
--- a/cpu/arm_common/Makefile
+++ b/cpu/arm_common/Makefile
@@ -1,5 +1,4 @@
 MODULE =arm_common
-INCLUDES = -Iinclude -I../$(CPU)/include -I../../sys/lib -I../../drivers/include -I../../core/include -I../../sys/include -I../../hal/include -I../../.. -I../../sys/lib/fat
 
 CFLAGS += $(CFLAGS_BASIC)
 include $(RIOTBASE)/Makefile.base
diff --git a/cpu/cc430/Makefile b/cpu/cc430/Makefile
index 3e10d1237ad615784e47c543a11a2f2644368628..16802b433f92675f86bdfbe0e4c297035898d257 100644
--- a/cpu/cc430/Makefile
+++ b/cpu/cc430/Makefile
@@ -2,6 +2,8 @@ MODULE = cpu
 
 DIRS = $(RIOTCPU)/msp430-common
 
+INCLUDES += -I$(RIOTBASE)/drivers/cc110x_ng/include
+
 all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
 
diff --git a/cpu/cc430/Makefile.include b/cpu/cc430/Makefile.include
index 901122b7a6d439001ab627644eb8d6a4ec77dd21..9cabdc9c4fa52117b584ef4b118eb18b62e91598 100644
--- a/cpu/cc430/Makefile.include
+++ b/cpu/cc430/Makefile.include
@@ -1,2 +1,4 @@
- INCLUDES += -I$(MAKEBASE)/cpu/cc430/include/
+INCLUDES += -I$(MAKEBASE)/cpu/cc430/include/
+
+include $(RIOTCPU)/msp430-common/Makefile.include
 
diff --git a/cpu/lpc1768/Makefile b/cpu/lpc1768/Makefile
index 263b41a37457ff5598a06788d4c1cffffbdb55ad..ed34d81c6b90662555b0bd5dccfedf3cb03eb2cc 100644
--- a/cpu/lpc1768/Makefile
+++ b/cpu/lpc1768/Makefile
@@ -7,8 +7,6 @@ CC_SYMBOLS = -DTARGET_LPC1769 -DTOOLCHAIN_GCC_ARM -DNDEBUG -D__CORTEX_M3
 LD_FLAGS = -mcpu=cortex-m3 -mthumb -Wl,--gc-sections,-Map=$(PROJECT).map,--cref --specs=nano.specs
 LD_SYS_LIBS = -lc -lgcc -lnosys
 
-INCLUDES = -Iinclude -I$(RIOTBASE)/core/include -I$(RIOTBASE)/sys/include -I$(RIOTBASE)/sys/lib 
-
 all: $(BINDIR)$(MODULE).a
 
 include $(RIOTBASE)/Makefile.base
diff --git a/cpu/lpc2387/i2c/Makefile b/cpu/lpc2387/i2c/Makefile
index 0d25ac4dfa0514f3da9a7a8bd950df80da5e8a0d..825b7ecde67887dcbc8ca2ff8963dba24849526e 100644
--- a/cpu/lpc2387/i2c/Makefile
+++ b/cpu/lpc2387/i2c/Makefile
@@ -1,5 +1,3 @@
-INCLUDES = -I$(RIOTBASE)/drivers/include -I$(RIOTBASE)/sys/include -I../../net -I../include -I../../lib -I../../../.. -I../../../cpu/ -I../../../core/include -I../../
-
 MODULE =i2c
 
 include $(MAKEBASE)/Makefile.base
diff --git a/sys/auto_init/Makefile b/sys/auto_init/Makefile
index 3d5723287cbfaed0ed24611e1f61a78f29e9f65b..8b2b20a9fd5b86299c0a8e74cf2fb3d7119dd516 100644
--- a/sys/auto_init/Makefile
+++ b/sys/auto_init/Makefile
@@ -1,6 +1,4 @@
 MODULE = auto_init
 
-INCLUDES += -I$(RIOTBASE)/drivers/cc110x -I$(RIOTBASE)/drivers/cc110x_ng/include
-
 include $(RIOTBASE)/Makefile.base