Ticket #947: phony.diff
File phony.diff, 2.2 KB (added by , 11 years ago) |
---|
-
make.scm
40 40 #f. 41 41 42 42 > (make-print-reasons [on?]) If #t, make prints the reason for each 43 depend ancy that fires. Defaultly #t.43 dependency that fires. Defaultly #t. 44 44 |# 45 45 46 46 (require-library srfi-1 posix) 47 47 48 48 (module make (make make/proc make-print-checking 49 49 make-print-dep-no-line 50 make-print-reasons) 50 make-print-reasons 51 make-nonfile-targets) 51 52 52 53 (import scheme chicken extras posix srfi-1) 53 54 54 55 (define make-print-checking (make-parameter #f)) 55 56 (define make-print-dep-no-line (make-parameter #f)) 56 57 (define make-print-reasons (make-parameter #f)) 58 (define make-nonfile-targets (make-parameter '())) 57 59 58 60 (define (make:find-matching-line str spec) 59 61 (let ((match? (lambda (s) (string=? s str)))) … … 130 132 (let ((reason 131 133 (or (not date) 132 134 (find (lambda (dep) 133 (unless (file-exists? dep) 134 (error (sprintf "dependancy ~a was not made~%" dep))) 135 (and (> (file-modification-time dep) date) 136 dep)) 135 (and (not (member dep (make-nonfile-targets))) 136 (unless (file-exists? dep) 137 (error (sprintf "dependency ~a was not made~%" dep))) 138 (and (> (file-modification-time dep) date) 139 dep))) 137 140 deps)))) 138 141 (when reason 139 142 (let ((l (cddr line))) … … 145 148 s 146 149 (if (make-print-reasons) 147 150 (cond 148 (( not date)151 ((and (not date) (not (member s (make-nonfile-targets)))) 149 152 (string-append " because " s " does not exist")) 150 153 ((string? reason) 151 154 (string-append " because " reason " changed"))