diff --git a/wmake/src/Makefile b/wmake/src/Makefile
index 9ced8251c991ca5e467e8d9761200126966e2f24..cc679c9482addfa2e413a35d9c4948190d8d9ef4 100644
--- a/wmake/src/Makefile
+++ b/wmake/src/Makefile
@@ -1,4 +1,4 @@
-#------------------------------------------------------------------------------
+#----------------------------*- makefile-gmake -*------------------------------
 # =========                 |
 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
 #  \\    /   O peration     |
@@ -57,22 +57,26 @@ include $(GENERAL_RULES)/general
 # Targets
 #------------------------------------------------------------------------------
 
+.PHONY: all clean
+
 all:  $(WMAKE_BIN)/dirToString $(WMAKE_BIN)/wmkdep
+	@echo built wmake-bin for $(WM_ARCH)$(WM_COMPILER)
 
 clean:
-	@E rm -f $(WMAKE_BIN)/* 2>/dev/null
+	@echo clean wmake-bin for $(WM_ARCH)$(WM_COMPILER)
+	@rm -rf $(WMAKE_BIN) 2>/dev/null
+	@rmdir $(shell dirname $(WMAKE_BIN)) 2>/dev/null || true
 
 $(WMAKE_BIN)/dirToString: dirToString.c
 	@mkdir -p $(WMAKE_BIN)
-	$(call QUIET_MESSAGE,compile,$<)
-	$E $(cc) $(cFLAGS) dirToString.c -o $(WMAKE_BIN)/dirToString
+	$(call QUIET_MESSAGE,compile,$(<F))
+	$E $(cc) $(cFLAGS) $(<F) -o $@
 
 $(WMAKE_BIN)/wmkdep: wmkdep.l
 	@mkdir -p $(WMAKE_BIN)
-	$(call QUIET_MESSAGE,lex,$<)
-	$E flex wmkdep.l; \
-	$(cc) $(cFLAGS) lex.yy.c -o $(WMAKE_BIN)/wmkdep
-	@rm -f lex.yy.c 2>/dev/null
+	$(call QUIET_MESSAGE,flex,$(<F))
+	$E flex -o $@.c $(<F) && $(cc) $(cFLAGS) $@.c -o $@
+	@rm -f $@.c 2>/dev/null
 
 
 #------------------------------------------------------------------------------
diff --git a/wmake/src/wmkdep.l b/wmake/src/wmkdep.l
index d1a7805621faa7d5e04cb77d6e4ce782bb7ba02c..6e198bab4c2c7cc99c3015fe932a6127386c1a1f 100644
--- a/wmake/src/wmkdep.l
+++ b/wmake/src/wmkdep.l
@@ -46,19 +46,18 @@ Usage
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
-#include <sys/types.h>  // POSIX
-#include <dirent.h>     // POSIX
-
-void nextFile(const char* fileName);
-void importFile(const char* fileName);
-void importDir(const char* dirName);
-
-#undef yywrap        /* sometimes a macro by default */
+#include <sys/types.h>  /* POSIX */
+#include <dirent.h>     /* POSIX */
 
 /* The executable name (for messages), without requiring access to argv[] */
 #define EXENAME  "wmkdep"
+#undef yywrap        /* sometimes a macro by default */
+#define YY_NO_INPUT  /* no input(), yyinput() required */
+#pragma GCC diagnostic ignored "-Wunused-function"
 
+void nextFile(const char* fileName);
 
+/*---------------------------------------------------------------------------*/
 %}
 
 %x CMNT CFNAME SCFNAME JFNAME FFNAME
@@ -80,6 +79,8 @@ void importDir(const char* dirName);
 
 %%
 
+/*---------------------------------------------------------------------------*/
+
 
 /* char* entry in hash table */
 struct HashEntry