make: Recompile .go too when included mes is touched.
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 2 May 2017 14:56:14 +0000 (16:56 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 2 May 2017 14:56:14 +0000 (16:56 +0200)
* build-aux/compile-all.scm (scm->mes): New function.
  (file-needs-compilation?): Use it to hackishly respect (include-[from-path] "<>.mes")

build-aux/compile-all.scm

index d2ed416fd6d2720938c1a80eb3cfc7ae99412daf..e123bbb9b3c9d6e25f0b6854135febc8b55816cd 100644 (file)
          (without-extension (string-drop-right relative 4)))
     (string-append without-extension ".go")))
 
+(define (scm->mes file)
+  (let* ((relative (relative-file file))
+         (without-extension (string-drop-right relative 4)))
+    (string-append without-extension ".mes")))
+
 (define (file-needs-compilation? file)
   (let ((go (scm->go file)))
     (or (not (file-exists? go))
-        (file-mtime<? go file))))
+        (file-mtime<? go file)
+        (let ((mes (scm->mes file))) ; FIXME: try to respect (include-from-path ".mes")
+          (and (file-exists? mes)
+               (file-mtime<? go mes))))))
 
 (define (file->module file)
   (let* ((relative (relative-file file))