summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: 547060791695758ab24d8b4bcf8cab2665451b89 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Handle substitution of fully-expanded Autoconf variables.
do_subst = $(SED)					\
  -e 's,[@]GUILE[@],$(GUILE),g'				\
  -e 's,[@]guilemoduledir[@],$(guilemoduledir),g'	\
  -e 's,[@]guileobjectdir[@],$(guileobjectdir),g'	\
  -e 's,[@]localedir[@],$(localedir),g'

nodist_noinst_SCRIPTS = pre-inst-env

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

EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES) drmaa/v1/ffi.ffi doc/snarf.scm
GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
SUFFIXES = .scm .go .ffi
.scm.go:
	$(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<"

drmaa/v1/ffi.scm: drmaa/v1/ffi.ffi
	$(AM_V_GEN) GUILE_AUTO_COMPILE=0 $(top_builddir)/pre-inst-env $(GUILE_TOOLS) compile-ffi -I $(top_srcdir)/include -X -o "$@" "$<" && \
	$(SED) -e 's,(define drmaa-v1-ffi-llibs (delay (list))),(define drmaa-v1-ffi-llibs (delay (list (dynamic-link (or (getenv "GUILE_DRMAA_LIBRARY") (error "GUILE_DRMAA_LIBRARY must be set!")))))),' -i $@

SOURCES = drmaa/errors.scm \
          drmaa/v1/ffi.scm \
          drmaa/v1/low.scm \
          drmaa/v1/high.scm

TESTS = 

TEST_EXTENSIONS = .scm
SCM_LOG_DRIVER =                                \
  $(top_builddir)/pre-inst-env                  \
  $(GUILE) --no-auto-compile -e main            \
      $(top_srcdir)/build-aux/test-driver.scm

# Tell 'build-aux/test-driver.scm' to display only source file names,
# not indivdual test names.
AM_SCM_LOG_DRIVER_FLAGS = --brief=yes

AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)"

AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)"

BUILT_SOURCES = drmaa/v1/ffi.scm doc/low.texi

$(top_builddir)/doc/low.texi: drmaa/v1/low.go
	$(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILE) --no-auto-compile -e main $(top_srcdir)/doc/snarf.scm "(drmaa v1 low)" "$@"

info_TEXINFOS = doc/drmaa.texi
drmaa_TEXINFOS = doc/low.texi
dvi: # Don't build dvi docs

EXTRA_DIST += README.org \
              README \
              HACKING \
              COPYING \
              NEWS \
              AUTHORS \
              ChangeLog \
              guix.scm \
              doc/snarf.scm \
              build-aux/test-driver.scm \
              configure.ac \
              Makefile.am \
              pre-inst-env.in \
              build-aux/test-driver.scm \
              $(TESTS)

ACLOCAL_AMFLAGS = -I m4

dist-hook: $(distdir)/ChangeLog
gen-ChangeLog $(distdir)/ChangeLog:
	$(AM_V_GEN)if test -d .git; then				\
	  $(top_srcdir)/build-aux/gitlog-to-changelog	\
	    > $(distdir)/cl-t;							\
	  rm -f $(distdir)/ChangeLog;					\
	  mv $(distdir)/cl-t $(distdir)/ChangeLog;		\
	fi

clean-go:
	-$(RM) $(GOBJECTS)
.PHONY: clean-go gen-ChangeLog

.NOTPARALLEL:

CLEANFILES =					\
  $(BUILT_SOURCES)				\
  $(GOBJECTS)					\
  $(TESTS:tests/%.scm=%.log)