Updated Makefile to improve tracking
diff --git a/src/main/cpp/cleaner/windows/Makefile.mingw b/src/main/cpp/cleaner/windows/Makefile.mingw
index 8ae362b..9b31802 100644
--- a/src/main/cpp/cleaner/windows/Makefile.mingw
+++ b/src/main/cpp/cleaner/windows/Makefile.mingw
@@ -15,17 +15,26 @@
 # specific language governing permissions and limitations
 # under the License.
 
-TMPFLD = ../../../../../target/tmp/
 OFLD = ../../../../../target/cleaner/
 
+CC=i686-w64-mingw32-gcc
+CFLAGS=-Os -s -DARCHITECTURE=32 -W -Wall -Wl,--nxcompat -Wl,--dynamicbase \
+	   -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows
+LDFLAGS=-static -static-libstdc++ -static-libgcc
+LDLIBS=-lstdc++ -lcomctl32 -luserenv
+
+SRCS=src/main.c
+INCS=
 all: prepfolder cleaner.exe
 
 prepfolder:
-	mkdir -p $(TMPFLD)
 	mkdir -p $(OFLD)
 
 clean:
-	rm -f *.res *.exe *.dll
+	-rm -f $(OFLD)cleaner.exe
 
-cleaner.exe: src/main.c
-	i686-w64-mingw32-gcc -s -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows src/main.c -o$(OFLD)cleaner.exe -static -lstdc++ -static-libstdc++ -static-libgcc
+cleaner.exe: $(OFLD)cleaner.exe
+
+$(OFLD)cleaner.exe: $(SRCS) $(INCS)
+	$(LINK.c) $(SRCS) -o$@ $(LDLIBS)
+
diff --git a/src/main/cpp/launcher/windows/Makefile.mingw b/src/main/cpp/launcher/windows/Makefile.mingw
index 7085105..30170d4 100644
--- a/src/main/cpp/launcher/windows/Makefile.mingw
+++ b/src/main/cpp/launcher/windows/Makefile.mingw
@@ -18,6 +18,21 @@
 TMPFLD = ../../../../../target/tmp/
 OFLD = ../../../../../target/launcher/
 
+CC=i686-w64-mingw32-gcc
+RC=i686-w64-mingw32-windres
+CFLAGS=-Os -s -DARCHITECTURE=32 -W -Wall -Wl,--nxcompat -Wl,--dynamicbase \
+	   -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows
+LDFLAGS=-static -static-libstdc++ -static-libgcc
+LDLIBS=-lstdc++ -lcomctl32 -luserenv
+
+SRCS=src/Main.c src/Launcher.c src/ExtractUtils.c src/FileUtils.c \
+     src/SystemUtils.c src/RegistryUtils.c src/ProcessUtils.c \
+     src/JavaUtils.c src/StringUtils.c
+
+INCS=src/Errors.h src/JavaUtils.h src/ProcessUtils.h src/SystemUtils.h \
+     src/ExtractUtils.h src/Launcher.h src/RegistryUtils.h src/Types.h \
+     src/FileUtils.h src/Main.h src/StringUtils.h
+
 all: prepfolder nlw.exe
 
 prepfolder:
@@ -25,11 +40,12 @@
 	mkdir -p $(OFLD)
 
 clean:
-	rm -f *.res *.exe *.dll
+	-rm -f $(TMPFLD)nlw.res $(OFLD)nlw.exe
 
-nlw.res: resources/res.rc
-	i686-w64-mingw32-windres -o$(TMPFLD)nlw.res -Ocoff resources/res.rc
+$(TMPFLD)nlw.res: resources/res.rc
+	$(RC) -o$@ -Ocoff $<
 
+nlw.exe: $(OFLD)nlw.exe
 
-nlw.exe: nlw.res
-	i686-w64-mingw32-gcc -s -DARCHITECTURE=32 -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-seh -Wl,--no-insert-timestamp -mwindows src/Main.c src/Launcher.c src/ExtractUtils.c src/FileUtils.c src/SystemUtils.c src/RegistryUtils.c src/ProcessUtils.c src/JavaUtils.c src/StringUtils.c -o$(OFLD)nlw.exe -static -lstdc++ -lcomctl32 -luserenv -static-libstdc++ -static-libgcc
+$(OFLD)nlw.exe: $(TMPFLD)nlw.res $(SRCS) $(INCS)
+	$(LINK.c) $(SRCS) -o$@ $(LDLIBS)