diff --git a/Makefile b/Makefile
index a946a513d92de1eef32568278839de168e8445d7..b88e2d5508437fea511b9506f6fd0ff04d5ff07f 100644
--- a/Makefile
+++ b/Makefile
@@ -53,14 +53,10 @@ program:
 	$(PROGRAM_CMDLINE)
 
 all-recursive:
-	@for i in $(SUBDIRS); do  \
-		$(MAKE) -C $$i FOLDER="$(FOLDER) $$i/" || exit 1;  \
-	done
+	$(foreach i,$(SUBDIRS),$(MAKE) -C $(i) FOLDER="$(FOLDER) $(i)/" || exit 1;)
 
 clean-recursive:
-	@for i in $(SUBDIRS); do  \
-		$(MAKE) -C $$i FOLDER="$(FOLDER) $$i/" clean  || exit 1;  \
-	done
+	$(foreach i,$(SUBDIRS),$(MAKE) -C $(i) FOLDER="$(FOLDER) $(i)/" clean || exit 1;)
 
 clean-topdir:
 	-rm -f $(OBJ) main.elf main.hex main.bin main.map $(OBJ:.o=.d)
diff --git a/miosix/_doc/textdoc/Changelog.txt b/miosix/_doc/textdoc/Changelog.txt
index 0c1f45493215dbde54669b5c15fa264359c67f99..392bc2b34f21be0dffdb682650728ced7e2ff363 100644
--- a/miosix/_doc/textdoc/Changelog.txt
+++ b/miosix/_doc/textdoc/Changelog.txt
@@ -1,5 +1,7 @@
 Changelog for Miosix np embedded OS
 
+- Changed makefile: moved from bash for loops to GNU Make for loops to avoid
+  a bash dependence that makes it difficult to build Miosix under windows
 - Added servomotor driving library for stm32f4discovery and stm32vldiscovery
 - Modified BSPs to instantiate the new classes
 - Changed basicFilesystemSetup() to take a pointer to a device to mount as /sd