Add --use_cache flag
diff --git a/parser.go b/parser.go
index 44ad3a5..b88c9bb 100644
--- a/parser.go
+++ b/parser.go
@@ -604,6 +604,17 @@
 	return Makefile{}, "", errors.New("no targets specified and no makefile found.")
 }
 
+func GetDefaultMakefile() string {
+	candidates := []string{"GNUmakefile", "makefile", "Makefile"}
+	for _, filename := range candidates {
+		if exists(filename) {
+			return filename
+		}
+	}
+	ErrorNoLocation("no targets specified and no makefile found.")
+	panic("") // Cannot be reached.
+}
+
 func parseMakefileReader(rd io.Reader, name string, lineno int) (Makefile, error) {
 	parser := newParser(rd, name)
 	parser.lineno = lineno