2017-12-09 17:01:40 +00:00
|
|
|
moddir=$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)
|
|
|
|
godir=$(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/ccache
|
|
|
|
|
|
|
|
GOBJECTS = $(MODULES:%.scm=%.go)
|
|
|
|
|
|
|
|
nobase_mod_DATA = $(MODULES) $(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_nodist_guileobjectDATA
|
|
|
|
$(guile_install_go_files): install-nobase_dist_guilemoduleDATA
|
|
|
|
|
|
|
|
GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
|
|
|
|
SUFFIXES = .scm .go
|
|
|
|
.scm.go:
|
|
|
|
$(AM_V_GEN)$(top_builddir)/pre-inst-env \
|
|
|
|
$(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<"
|
|
|
|
|
|
|
|
TEST_EXTENSIONS = .scm
|
|
|
|
SCM_LOG_COMPILER = $(top_builddir)/pre-inst-env $(GUILE)
|
|
|
|
AM_SCM_LOG_FLAGS = --no-auto-compile
|
|
|
|
|
|
|
|
if HAVE_GENHTML
|
|
|
|
|
|
|
|
lcov.info: all
|
|
|
|
$(top_builddir)/pre-inst-env $(top_builddir)/tools/coverage
|
|
|
|
|
|
|
|
coverage: lcov.info
|
|
|
|
$(GENHTML) -o $(top_builddir)/coverage lcov.info
|
|
|
|
|
|
|
|
endif # HAVE_GENHTML
|
|
|
|
|
|
|
|
test-list: ; @echo $(TESTS)
|
|
|
|
|
2018-11-08 19:53:55 +00:00
|
|
|
.PHONY: check-spec
|
|
|
|
check-spec:
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) -L -C tests/spec check
|
|
|
|
|
2018-12-06 03:21:30 +00:00
|
|
|
.PHONY: check-bootstrap
|
|
|
|
check-bootstrap:
|
2018-12-12 19:23:09 +00:00
|
|
|
guix build -f tests/bootstrap/bash-without-bash.scm
|
2018-12-06 03:21:30 +00:00
|
|
|
|
2018-12-16 02:38:48 +00:00
|
|
|
.PHONY: check-gash
|
|
|
|
check-gash:
|
|
|
|
SHELL=gash $(top_builddir)/pre-inst-env $(top_builddir)/check.sh
|
|
|
|
|
2018-12-06 00:56:24 +00:00
|
|
|
dist-hook:
|
|
|
|
echo $(VERSION) > $(distdir)/.tarball-version
|
|
|
|
|
2017-12-09 17:01:40 +00:00
|
|
|
MODULES = \
|
2018-12-16 02:38:48 +00:00
|
|
|
gash/bournish-commands.scm \
|
|
|
|
gash/builtins.scm \
|
|
|
|
gash/commands/basename.scm \
|
|
|
|
gash/commands/cat.scm \
|
|
|
|
gash/commands/chmod.scm \
|
|
|
|
gash/commands/compress.scm \
|
|
|
|
gash/commands/cp.scm \
|
|
|
|
gash/commands/dirname.scm \
|
|
|
|
gash/commands/find.scm \
|
|
|
|
gash/commands/grep.scm \
|
|
|
|
gash/commands/ls.scm \
|
|
|
|
gash/commands/mkdir.scm \
|
|
|
|
gash/commands/mv.scm \
|
|
|
|
gash/commands/reboot.scm \
|
|
|
|
gash/commands/rm.scm \
|
|
|
|
gash/commands/rmdir.scm \
|
|
|
|
gash/commands/sed.scm \
|
|
|
|
gash/commands/sed/reader.scm \
|
|
|
|
gash/commands/tar.scm \
|
|
|
|
gash/commands/touch.scm \
|
|
|
|
gash/commands/tr.scm \
|
|
|
|
gash/commands/wc.scm \
|
|
|
|
gash/commands/which.scm \
|
|
|
|
gash/compress.scm \
|
|
|
|
gash/config.scm \
|
|
|
|
gash/environment.scm \
|
|
|
|
gash/gash.scm \
|
|
|
|
gash/geesh.scm \
|
|
|
|
gash/grammar.scm \
|
|
|
|
gash/guix-utils.scm \
|
|
|
|
gash/io.scm \
|
|
|
|
gash/job.scm \
|
|
|
|
gash/lzw.scm \
|
|
|
|
gash/peg.scm \
|
|
|
|
gash/peg/cache.scm \
|
|
|
|
gash/peg/codegen.scm \
|
|
|
|
gash/peg/simplify-tree.scm \
|
|
|
|
gash/peg/string-peg.scm \
|
|
|
|
gash/peg/using-parsers.scm \
|
|
|
|
gash/pipe.scm \
|
|
|
|
gash/readline.scm \
|
|
|
|
gash/script.scm \
|
|
|
|
gash/shell-utils.scm \
|
|
|
|
gash/ustar.scm \
|
|
|
|
gash/util.scm \
|
2018-11-21 15:59:19 +00:00
|
|
|
geesh/built-ins/break.scm \
|
2018-11-25 06:30:09 +00:00
|
|
|
geesh/built-ins/cd.scm \
|
2018-11-25 19:24:35 +00:00
|
|
|
geesh/built-ins/colon.scm \
|
2018-11-21 15:59:19 +00:00
|
|
|
geesh/built-ins/continue.scm \
|
2018-11-26 03:42:05 +00:00
|
|
|
geesh/built-ins/dot.scm \
|
2018-07-17 16:20:06 +01:00
|
|
|
geesh/built-ins/echo.scm \
|
2018-11-26 03:42:05 +00:00
|
|
|
geesh/built-ins/eval.scm \
|
2018-12-04 17:48:15 +00:00
|
|
|
geesh/built-ins/exec.scm \
|
2018-12-04 21:03:38 +00:00
|
|
|
geesh/built-ins/exit.scm \
|
2018-11-21 18:27:50 +00:00
|
|
|
geesh/built-ins/export.scm \
|
2018-10-17 00:39:20 +01:00
|
|
|
geesh/built-ins/false.scm \
|
2018-11-25 06:30:09 +00:00
|
|
|
geesh/built-ins/pwd.scm \
|
2018-10-16 23:15:05 +01:00
|
|
|
geesh/built-ins/read.scm \
|
2018-11-21 18:34:30 +00:00
|
|
|
geesh/built-ins/readonly.scm \
|
2018-12-04 21:03:38 +00:00
|
|
|
geesh/built-ins/return.scm \
|
2018-11-21 19:58:03 +00:00
|
|
|
geesh/built-ins/set.scm \
|
2018-12-04 16:21:19 +00:00
|
|
|
geesh/built-ins/shift.scm \
|
2018-12-04 17:51:41 +00:00
|
|
|
geesh/built-ins/trap.scm \
|
2018-11-21 16:39:06 +00:00
|
|
|
geesh/built-ins/true.scm \
|
2018-12-04 16:25:02 +00:00
|
|
|
geesh/built-ins/umask.scm \
|
2018-11-16 02:05:12 +00:00
|
|
|
geesh/built-ins/unset.scm \
|
2018-11-21 18:34:30 +00:00
|
|
|
geesh/built-ins/utils.scm \
|
2018-07-17 16:20:06 +01:00
|
|
|
geesh/built-ins.scm \
|
2018-07-12 02:51:54 +01:00
|
|
|
geesh/environment.scm \
|
2018-07-17 18:28:46 +01:00
|
|
|
geesh/eval.scm \
|
2017-12-09 23:48:17 +00:00
|
|
|
geesh/lexer.scm \
|
2017-12-16 05:53:20 +00:00
|
|
|
geesh/parser.scm \
|
2018-11-20 20:01:30 +00:00
|
|
|
geesh/pattern.scm \
|
2018-07-12 03:05:15 +01:00
|
|
|
geesh/repl.scm \
|
2018-07-17 03:33:03 +01:00
|
|
|
geesh/shell.scm \
|
2018-07-12 03:05:15 +01:00
|
|
|
geesh/word.scm
|
2017-12-09 17:01:40 +00:00
|
|
|
|
|
|
|
bin_SCRIPTS = \
|
2018-12-16 02:38:48 +00:00
|
|
|
scripts/gash \
|
2017-12-09 17:01:40 +00:00
|
|
|
scripts/geesh
|
|
|
|
|
2018-12-05 03:33:36 +00:00
|
|
|
do_subst = sed \
|
|
|
|
-e 's,[@]GUILE[@],$(GUILE),g' \
|
|
|
|
-e 's,[@]MODDIR[@],$(moddir),g' \
|
|
|
|
-e 's,[@]GODIR[@],$(godir),g'
|
|
|
|
|
2018-12-16 02:38:48 +00:00
|
|
|
scripts/gash: scripts/gash.in Makefile
|
|
|
|
$(do_subst) < $(srcdir)/scripts/gash.in > scripts/gash
|
|
|
|
chmod a+x scripts/gash
|
|
|
|
|
2018-12-05 03:33:36 +00:00
|
|
|
scripts/geesh: scripts/geesh.in Makefile
|
|
|
|
$(do_subst) < $(srcdir)/scripts/geesh.in > scripts/geesh
|
|
|
|
chmod a+x scripts/geesh
|
|
|
|
|
2018-12-12 19:23:09 +00:00
|
|
|
UNIT_TESTS = \
|
|
|
|
tests/unit/lexer.scm \
|
|
|
|
tests/unit/parser.scm \
|
|
|
|
tests/unit/pattern.scm \
|
|
|
|
tests/unit/shell.scm \
|
|
|
|
tests/unit/word.scm
|
|
|
|
|
|
|
|
TESTS = $(UNIT_TESTS)
|
2017-12-09 17:01:40 +00:00
|
|
|
|
2018-12-05 03:33:36 +00:00
|
|
|
EXTRA_DIST = \
|
|
|
|
scripts/geesh.in
|
|
|
|
|
2017-12-09 17:01:40 +00:00
|
|
|
CLEANFILES = \
|
|
|
|
$(GOBJECTS) \
|
2018-12-05 03:33:36 +00:00
|
|
|
$(bin_SCRIPTS) \
|
2018-12-12 19:23:09 +00:00
|
|
|
$(TESTS:tests/unit/%.scm=%.log) \
|
|
|
|
$(TESTS:tests/unit/%.scm=%.trs)
|
2018-11-08 19:53:55 +00:00
|
|
|
|
|
|
|
clean-local:
|
|
|
|
$(MAKE) $(AM_MAKEFLAGS) -L -C tests/spec clean
|