about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--redo.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/redo.c b/redo.c
index 141434c..2a297e9 100644
--- a/redo.c
+++ b/redo.c
@@ -398,7 +398,14 @@ static int
 sourcefile(char *target)
 {
 	target = targetchdir(target);
-	return access(target, F_OK) == 0 && access(targetdep(target), F_OK) != 0;
+
+	if (access(targetdep(target), F_OK) == 0)
+		return 0;
+
+	if (!fflag)
+		return access(target, F_OK) == 0;
+
+	return find_dofile(target) == 0;
 }
 
 static int