8a78d8dd33915900bb07fcd593d8287565440764
[guile-click.git] / Makefile.am
1 ## Click --- Command Line Interface Creation Kit for GNU Guile
2 ## Copyright © 2021 Javier Sancho <jsf@jsancho.org>
3 ##
4 ## This file is part of Click.
5 ##
6 ## Click is free software; you can redistribute it and/or modify it
7 ## under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; either version 3 of the License, or
9 ## (at your option) any later version.
10 ##
11 ## Click is distributed in the hope that it will be useful, but
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 ## General Public License for more details.
15 ##
16 ## You should have received a copy of the GNU General Public License
17 ## along with Click.  If not, see <http://www.gnu.org/licenses/>.
18
19 GOBJECTS = $(SOURCES:%.scm=%.go)
20
21 nobase_mod_DATA = $(SOURCES) $(NOCOMP_SOURCES)
22 nobase_go_DATA = $(GOBJECTS)
23
24 # Make sure source files are installed first, so that the mtime of
25 # installed compiled files is greater than that of installed source
26 # files.  See
27 # <http://lists.gnu.org/archive/html/guile-devel/2010-07/msg00125.html>
28 # for details.
29 guile_install_go_files = install-nobase_goDATA
30 $(guile_install_go_files): install-nobase_modDATA
31
32 EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES)
33 GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
34 SUFFIXES = .scm .go
35 .scm.go:
36         $(AM_V_GEN)$(top_builddir)/pre-inst-env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<"
37
38 moddir=$(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION)
39 godir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
40
41 SOURCES =                                       \
42   click.scm                                     \
43   click/constant.scm                            \
44   click/help.scm                                \
45   click/util.scm                                \
46   click/value.scm
47
48 TESTS =                                         \
49   tests/util.scm
50
51 TEST_EXTENSIONS = .scm
52 SCM_LOG_COMPILER = $(top_builddir)/test-env $(GUILE)
53 AM_SCM_LOG_FLAGS = --no-auto-compile -L "$(top_srcdir)"
54
55 info_TEXINFOS = doc/click.texi
56 doc_click_TEXINFOS = doc/fdl-1.3.texi
57 dvi: # Don't build dvi docs
58
59 EXTRA_DIST +=                                   \
60   pre-inst-env.in                               \
61   README                                        \
62   $(TESTS)
63
64 CLEANFILES =                                    \
65   $(GOBJECTS)                                   \
66   $(TESTS:tests/%.scm=%.log)