summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am87
1 files changed, 87 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..c57d934
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,87 @@
+# Guile Feed --- Feed command-line interface.
+# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+#
+# This file is part of Guile Feed.
+#
+# Guile Feed is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Guile Feed is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Guile Feed. If not, see <http://www.gnu.org/licenses/>.
+
+bin_SCRIPTS = scripts/feed
+
+# Handle substitution of fully-expanded Autoconf variables.
+do_subst = $(SED) \
+ -e 's,[@]GUILE[@],$(GUILE),g'
+
+scripts/feed: scripts/feed.in Makefile
+ $(AM_V_at)rm -f $@ $@-t
+ $(AM_V_at)$(MKDIR_P) "$(@D)"
+ $(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t"
+ $(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@"
+
+AM_V_GUILEC = $(AM_V_GUILEC_$(V))
+AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
+AM_V_GUILEC_0 = @echo " GUILEC " $@;
+
+MODULES = \
+ feed.scm \
+ feed/scripts/rss.scm \
+ feed/ui.scm \
+ rss/feeds.scm \
+ rss/feeds/code.scm \
+ rss/feeds/emacs.scm \
+ rss/feeds/game.scm \
+ rss/feeds/hardware.scm \
+ rss/feeds/news.scm \
+ rss/feeds/planet.scm \
+ rss/feeds/video.ru.scm \
+ rss/feeds/video.scm
+
+GO_FILES = $(MODULES:%.scm=%.go)
+
+nobase_dist_guilemodule_DATA = $(MODULES)
+nobase_nodist_guileccache_DATA = $(GO_FILES)
+
+# 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>.
+guile_install_go_files = install-nobase_nodist_guileccacheDATA
+$(guile_install_go_files): install-nobase_dist_guilemoduleDATA
+
+GUILEC_ENV = \
+ GUILE_AUTO_COMPILE=0
+
+GUILEC_OPTS = \
+ -Warity-mismatch \
+ -Wformat \
+ -Wunbound-variable
+
+if GUIX_DIR
+ guix_module_part=":$(guixmoduledir)"
+ guix_ccache_part=":$(guixccachedir)"
+else
+ guix_module_part=
+ guix_ccache_part=
+endif
+
+# Guile PATHs shouldn't be unset: some guix modules want to load
+# (gnutls) module, that's why 'guix' package propagates 'gnutls', i.e.
+# a directory with gnutls module is placed in GUILE_LOAD_PATH.
+
+GUILEC_ENV += \
+ GUILE_LOAD_PATH="$(abs_srcdir)$(guix_module_part):$$GUILE_LOAD_PATH" \
+ GUILE_LOAD_COMPILED_PATH="$(abs_builddir)$(guix_ccache_part):$$GUILE_LOAD_COMPILED_PATH"
+
+$(GO_FILES): %.go: %.scm
+ -$(AM_V_GUILEC) $(GUILEC_ENV) \
+ $(GUILD) compile $(GUILEC_OPTS) --output=$@ $<