Я пытаюсь построить и установить проект схемы с зависимостями модулей, используя automake
.Однако я продолжаю получать ошибки, как описано ниже.
Чтобы продемонстрировать на простом примере, представьте, что у меня есть следующая структура проекта:
+-a.scm
|
+-libs/
+-b.scm
|
+-c.scm
И module a
зависит от module b
, которыйзависит от module c
.Предположим, что файлы имеют следующее определение модуля
a.scm
(define-module (a)
#:use-module (a b))
b.scm
(define-module (a b)
#:use-module (a c))
c.scm
(define-module (a c))
Вот Makefile.am
Я использую
GOBJECTS = $(SOURCES:%.scm=%.go)
moddir=$(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION)
godir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
ccachedir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES)
nobase_go_DATA = $(GOBJECTS)
# Make sure source files are installed first, so that the mtime of
# installed compiled files is greater than that of installed source
# files. See
# <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html>
# for details.
guile_install_go_files = install-nobase_goDATA
$(guile_install_go_files): install-nobase_modDATA
CLEANFILES = $(GOBJECTS)
GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
SUFFIXES = .scm .go
.scm.go:
$(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<"
SOURCES = \
c.scm \
b.scm \
a.scm
EXTRA_DIST = \
boostrap \
env.in
Сборка проекта с make
дает мне ошибку ниже:
нет модуля для (ac)
Как я могу исправить вышеуказанную ошибку и успешно построить проект со всеми взаимозависимостями между модулями?