diff --git a/Makefile.base b/Makefile.base
index c26d16cbdbb4050694d69683d4d500493ad672ca..f6b18398a3082e7abf44368dc3256f317bdfe4bd 100644
--- a/Makefile.base
+++ b/Makefile.base
@@ -21,8 +21,6 @@ ifeq ($(strip $(GIT_VERSION)),)
 endif
 export CFLAGS += -DVERSION=\"$(GIT_VERSION)\"
 
-.PHONY: clean
-
 $(BINDIR)$(MODULE).a: $(OBJ) $(ASMOBJ)
 	$(AD)$(AR) -rc $(BINDIR)$(MODULE).a $(OBJ) $(ASMOBJ)
 
@@ -44,7 +42,3 @@ $(BINDIR)$(MODULE)/%.o: %.s
 $(BINDIR)$(MODULE)/%.o: %.S
 	@mkdir -p $(BINDIR)$(MODULE)
 	$(AD)$(CC) -c $(CFLAGS) $*.S -o $(BINDIR)$(MODULE)/$*.o
-
-# remove compilation products
-clean::
-	$(AD)rm -f $(BINDIR)$(MODULE).a $(OBJ) $(DEP) $(ASMOBJ)
diff --git a/Makefile.include b/Makefile.include
index 744d65c7a7abc6219c5df66108d73ea7f23f8c2d..f6bac14b33bf266394883b3827b228637a8984f4 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -143,9 +143,7 @@ $(USEPKG:%=${BINDIR}%.a)::
 	"$(MAKE)" -C $(RIOTBASE)/pkg/$(patsubst ${BINDIR}%.a,%,$@)
 
 clean:
-	@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTBASE)/pkg/$$i clean || exit 1; done ;
-	"$(MAKE)" -C $(RIOTBOARD)/$(BOARD) clean
-	"$(MAKE)" -C $(RIOTBASE) clean
+	@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTBASE)/pkg/$$i clean || exit 1; done
 	rm -rf $(BINDIR)
 
 flash: all
diff --git a/Makefile.unsupported b/Makefile.unsupported
index fe71826c032d3579be79e76c12237dce344c433f..8b8c66a9063fcb10b844177cc8226885882255ab 100644
--- a/Makefile.unsupported
+++ b/Makefile.unsupported
@@ -3,4 +3,5 @@
 all:
 	$(error Project $(PROJECT) currently not supported for $(BOARD))
 
-clean: all
+clean:
+	@true
diff --git a/boards/avsextrem/Makefile b/boards/avsextrem/Makefile
index 721109f21493a5ed04ab5b37b9c5b922c37ae38d..66e75590d5b6b1de91a118dc98c62c634bd5283f 100644
--- a/boards/avsextrem/Makefile
+++ b/boards/avsextrem/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/chronos/Makefile b/boards/chronos/Makefile
index 9c583c8552a7df7fcf2b0d0a34b30454887f29cd..d5db842fccb0e051d121b1258b5a4e33ef7dabe9 100644
--- a/boards/chronos/Makefile
+++ b/boards/chronos/Makefile
@@ -7,6 +7,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msb-430-common/Makefile b/boards/msb-430-common/Makefile
index ad11fe9974d6928f114d1e64d08aa907020def81..476661c13793c8cba66f7c5261dcbf05ede1a0c9 100644
--- a/boards/msb-430-common/Makefile
+++ b/boards/msb-430-common/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msb-430/Makefile b/boards/msb-430/Makefile
index e847666a50bf672d65dd1127ffff3b8469fc84ad..4d3a2ce17ddcbb2ce35b7d678fc5c2114f259f84 100644
--- a/boards/msb-430/Makefile
+++ b/boards/msb-430/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msb-430h/Makefile b/boards/msb-430h/Makefile
index e847666a50bf672d65dd1127ffff3b8469fc84ad..4d3a2ce17ddcbb2ce35b7d678fc5c2114f259f84 100644
--- a/boards/msb-430h/Makefile
+++ b/boards/msb-430h/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msba2-common/Makefile b/boards/msba2-common/Makefile
index ad11fe9974d6928f114d1e64d08aa907020def81..476661c13793c8cba66f7c5261dcbf05ede1a0c9 100644
--- a/boards/msba2-common/Makefile
+++ b/boards/msba2-common/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msba2/Makefile b/boards/msba2/Makefile
index 1b0a2c2590c04f11dbbcf3b0cf7f468ce009619a..8f2fb2c9bc908bbe89ebae4fa0c06d44c9d471fb 100644
--- a/boards/msba2/Makefile
+++ b/boards/msba2/Makefile
@@ -7,6 +7,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/native/Makefile b/boards/native/Makefile
index 95358519cf76fa4c315f5a1ec488a4b69e2a248b..c1a5af72c12d6c048651226ef946db025941de9b 100644
--- a/boards/native/Makefile
+++ b/boards/native/Makefile
@@ -12,6 +12,3 @@ $(BINDIR)$(MODULE)/%.o: %.c
 	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
 	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
 		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/pttu/Makefile b/boards/pttu/Makefile
index 1b0a2c2590c04f11dbbcf3b0cf7f468ce009619a..8f2fb2c9bc908bbe89ebae4fa0c06d44c9d471fb 100644
--- a/boards/pttu/Makefile
+++ b/boards/pttu/Makefile
@@ -7,6 +7,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/redbee-econotag/Makefile b/boards/redbee-econotag/Makefile
index ad11fe9974d6928f114d1e64d08aa907020def81..476661c13793c8cba66f7c5261dcbf05ede1a0c9 100644
--- a/boards/redbee-econotag/Makefile
+++ b/boards/redbee-econotag/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/wsn430-common/Makefile b/boards/wsn430-common/Makefile
index ad11fe9974d6928f114d1e64d08aa907020def81..476661c13793c8cba66f7c5261dcbf05ede1a0c9 100644
--- a/boards/wsn430-common/Makefile
+++ b/boards/wsn430-common/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/wsn430-v1_3b/Makefile b/boards/wsn430-v1_3b/Makefile
index 1c90d58cf56a7fcda5e056afefdae749d8393cbf..13ff3e708682f390a2568def71091289dbd7d7f8 100644
--- a/boards/wsn430-v1_3b/Makefile
+++ b/boards/wsn430-v1_3b/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/wsn430-v1_4/Makefile b/boards/wsn430-v1_4/Makefile
index b91f1a85ded51201fafec8fe7105f4f1501e035f..2aa36dcc40b188d71bf0a5279d0a98c59d8c47a4 100644
--- a/boards/wsn430-v1_4/Makefile
+++ b/boards/wsn430-v1_4/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/cc430/Makefile b/cpu/cc430/Makefile
index d1d12a013e21b894bb862cf46c0d1fae3404d0b6..ad74ec937adff49aa2d47690b11dc6af1157365f 100644
--- a/cpu/cc430/Makefile
+++ b/cpu/cc430/Makefile
@@ -6,6 +6,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/lpc1768/Makefile b/cpu/lpc1768/Makefile
index 35034ca1c7dfdd77446b2b73a73a256164bcd2fd..29d947056f21d6c9d10c9f696a282c0be0d68f27 100644
--- a/cpu/lpc1768/Makefile
+++ b/cpu/lpc1768/Makefile
@@ -11,9 +11,6 @@ all: $(BINDIR)$(MODULE).a
 
 include $(RIOTBASE)/Makefile.base
 
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
-
 # This is needed for NXP Cortex M devices
 nxpsum:
 	$(CCLOCAL) nxpsum.c -std=c99 -o nxpsum
diff --git a/cpu/lpc2387/Makefile b/cpu/lpc2387/Makefile
index 6674af3b2787697cb77688fee9660d1e05b71af9..57ce9fb1f10df296d30b39c525c16ae0bfa46df3 100644
--- a/cpu/lpc2387/Makefile
+++ b/cpu/lpc2387/Makefile
@@ -20,6 +20,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/mc1322x/Makefile b/cpu/mc1322x/Makefile
index 7b4d6686247072353590d8db4507da1d8a76c359..8c68344a8c6fa9f3948ffd08a51e5c81963c8edf 100644
--- a/cpu/mc1322x/Makefile
+++ b/cpu/mc1322x/Makefile
@@ -12,6 +12,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/msp430-common/Makefile b/cpu/msp430-common/Makefile
index 7ddcd45ed8f14829935f50942b679421dab8cd7c..aff6a1957f68f3bb123739ee5ff6839ee9903bd9 100644
--- a/cpu/msp430-common/Makefile
+++ b/cpu/msp430-common/Makefile
@@ -1,11 +1,3 @@
 MODULE =msp430_common
 
-DIRS =
-
-all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
-
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/msp430x16x/Makefile b/cpu/msp430x16x/Makefile
index ea6d8956afd0e3bcaad295a4661232cc5b178373..b583dc78ed97df16a959239339226d969d28c753 100644
--- a/cpu/msp430x16x/Makefile
+++ b/cpu/msp430x16x/Makefile
@@ -8,6 +8,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/native/Makefile b/cpu/native/Makefile
index a592a86309a3dfd3d8886bf9da42174ed81490f4..34b29cd8c02e52eb54ebaf4f2ed513a141b4c02f 100644
--- a/cpu/native/Makefile
+++ b/cpu/native/Makefile
@@ -18,6 +18,3 @@ $(BINDIR)$(MODULE)/%.o: %.c
 	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
 	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
 		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/Makefile b/drivers/Makefile
index f61b434aced5a131cc3feeb09d2c5b7db614e58f..67898731562a247d90d045da02e6de1020483c0f 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -39,7 +39,3 @@ all:
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-# remove compilation products
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/at86rf231/Makefile b/drivers/at86rf231/Makefile
index ded5b0edcfc9c5a1578cc3b305f2ff5bdfb79070..f0ae7afb3207371f4ae28fac1446046e95b35d10 100644
--- a/drivers/at86rf231/Makefile
+++ b/drivers/at86rf231/Makefile
@@ -1,11 +1,3 @@
 MODULE =at86rf231
 
-DIRS =
-
-all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
-
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/cc110x_ng/Makefile b/drivers/cc110x_ng/Makefile
index fbb9508c7b9cf459f06f62713a4033a46ba92dd1..2dc3f914a13e3c422f41e285af78c05c93786b4f 100644
--- a/drivers/cc110x_ng/Makefile
+++ b/drivers/cc110x_ng/Makefile
@@ -15,6 +15,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/cc2420/Makefile b/drivers/cc2420/Makefile
index 05d164a17cce09eb9cd9b9243a99fc5cfd895e12..39a17b2101677198bb1f3761b91ea1ed44090b8e 100644
--- a/drivers/cc2420/Makefile
+++ b/drivers/cc2420/Makefile
@@ -1,11 +1,3 @@
 MODULE =cc2420
 
-DIRS =
-
-all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
-
 include $(RIOTBASE)/Makefile.base
-
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/sys/Makefile b/sys/Makefile
index f3470957fc25ec1bc89fb66078e88553275b9f0d..08f0d791fe1d9b4dfcd276e2a8fdb71c28e3d55c 100644
--- a/sys/Makefile
+++ b/sys/Makefile
@@ -106,7 +106,3 @@ all: $(BINDIR)$(MODULE).a
 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
-
-# remove compilation products
-clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;