* guilec.mk: New file, to be included when building .go files.
* module/language/scheme/Makefile.am:
* module/system/base/Makefile.am:
* module/system/il/Makefile.am:
* module/system/repl/Makefile.am:
* module/system/vm/Makefile.am: Use guilec.mk.
* module/system/base/compile.scm (compiled-file-name): Work on the
basename of a file, so that we always create files in the directory
where we run. Perhaps should add a -o option to guilec in the future.
* Makefile.am: Actually recurse into module/ in a normal build.
-SUBDIRS = src doc testsuite
-DIST_SUBDIRS = src module doc testsuite
-
-# FIXME: The `module' directory is removed from `SUBDIRS' until it can
-# actually be built.
-
-EXTRA_DIST = acconfig.h
+SUBDIRS = src module doc testsuite
MAINTAINERCLEANFILES = COPYING INSTALL config.guess config.sub ltconfig \
ltmain.sh Makefile.in aclocal.m4 config.h.in stamp-h.in \
--- /dev/null
+GOBJECTS = $(SOURCES:%.scm=%.go)
+
+mod_DATA = $(SOURCES) $(NOCOMP_SOURCES) $(GOBJECTS)
+EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES)
+
+CLEANFILES = $(GOBJECTS)
+
+SUFFIXES = .scm .go
+.scm.go:
+ $(GUILEC) $<
SOURCES = translate.scm spec.scm
-## FIXME: There's a bug showing up when compiling `translate.scm'.
-GOBJECTS = $(SOURCES:%.scm=%.go)
-
-vmdir = $(guiledir)/language/scheme
-vm_DATA = $(SOURCES) $(GOBJECTS)
-
-CLEANFILES = $(GOBJECTS)
-
-SUFFIXES = .scm .go
-%.go: %.scm
- $(GUILEC) $<
+moddir = $(guiledir)/language/scheme
+include $(top_srcdir)/guilec.mk
SOURCES = pmatch.scm syntax.scm compile.scm language.scm
-GOBJECTS = $(SOURCES:%.scm=%.go)
-
-vmdir = $(guiledir)/system/vm
-vm_DATA = $(SOURCES) $(GOBJECTS)
-
-CLEANFILES = $(GOBJECTS)
-
-SUFFIXES = .scm .go
-%.go: %.scm
- $(GUILEC) $<
+moddir = $(guiledir)/system/base
+include $(top_srcdir)/guilec.mk
(apply load-source-file file opts))))
(define (compiled-file-name file)
- (let ((m (string-match "\\.[^.]*$" file)))
- (string-append (if m (match:prefix m) file) ".go")))
+ (let ((base (basename file)))
+ (let ((m (string-match "\\.scm$" base)))
+ (string-append (if m (match:prefix m) base) ".go"))))
(define (scheme-eval x e)
(vm-load (the-vm) (compile-in x e (scheme))))
SOURCES = glil.scm macros.scm ghil.scm compile.scm
-## FIXME: There's a bug showing up when compiling `ghil.scm' and
-## `compile.scm'!
-GOBJECTS = $(SOURCES:%.scm=%.go)
-
-vmdir = $(guiledir)/system/il
-vm_DATA = $(SOURCES) $(GOBJECTS)
-
-CLEANFILES = $(GOBJECTS)
-
-SUFFIXES = .scm .go
-%.go: %.scm
- $(GUILEC) $<
+moddir = $(guiledir)/system/il
+include $(top_srcdir)/guilec.mk
NOCOMP_SOURCES = describe.scm
SOURCES = repl.scm common.scm command.scm
-GOBJECTS = $(SOURCES:%.scm=%.go)
-
-vmdir = $(guiledir)/system/repl
-vm_DATA = $(SOURCES) $(NOCOMP_SOURCES) $(GOBJECTS)
-
-CLEANFILES = $(GOBJECTS)
-
-SUFFIXES = .scm .go
-%.go: %.scm
- $(GUILEC) $<
+moddir = $(guiledir)/system/repl
+include $(top_srcdir)/guilec.mk
SOURCES = assemble.scm conv.scm core.scm debug.scm \
disasm.scm frame.scm profile.scm trace.scm
-GOBJECTS = $(SOURCES:%.scm=%.go)
-
-vmdir = $(guiledir)/system/vm
-vm_DATA = $(SOURCES) $(GOBJECTS)
-
-CLEANFILES = $(GOBJECTS)
-
-SUFFIXES = .scm .go
-%.go: %.scm
- $(GUILEC) $<
+moddir = $(guiledir)/system/vm
+include $(top_srcdir)/guilec.mk