# guile-xapian --- Guile bindings for Xapian # Copyright © 2020, 2021, 2022, 2023 Arun Isaac # Copyright © 2022 Bob131 # # This file is part of guile-xapian. # # guile-xapian 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 2 of the License, or # (at your option) any later version. # # guile-xapian 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-xapian. If not, see # . # Prefix variables for silencing various commands. See "(automake) # Automake Silent Rules" for details. EMACS_GEN = $(EMACS_GEN_$(V)) EMACS_GEN_ = $(EMACS_GEN_$(AM_DEFAULT_VERBOSITY)) EMACS_GEN_0 = @echo " EMACS" $@; EMACS_GEN_1 = GUILD_GEN = $(GUILD_GEN_$(V)) GUILD_GEN_ = $(GUILD_GEN_$(AM_DEFAULT_VERBOSITY)) GUILD_GEN_0 = @echo " GUILD " $@; GUILD_GEN_1 = SWIG_GEN = $(SWIG_GEN_$(V)) SWIG_GEN_ = $(SWIG_GEN_$(AM_DEFAULT_VERBOSITY)) SWIG_GEN_0 = @echo " SWIG " $@; SWIG_GEN_1 = # Xapian wrapper lib_LTLIBRARIES = libguilexapian-@GUILE_EFFECTIVE_VERSION@.la BUILT_SOURCES = xapian_wrap.cc xapian/wrap.scm libguilexapian_@GUILE_EFFECTIVE_VERSION@_la_SOURCES = xapian_wrap.cc libguilexapian_@GUILE_EFFECTIVE_VERSION@_la_CXXFLAGS = $(GUILE_CFLAGS) $(XAPIAN_CFLAGS) libguilexapian_@GUILE_EFFECTIVE_VERSION@_la_LDFLAGS = $(GUILE_LIBS) $(XAPIAN_LIBS) CLEANFILES = xapian.i xapian_wrap.cc xapian/wrap.scm xapian.i: xapian.i.in Makefile sed -e 's|@libdir[@]|$(libdir)|g' -e 's|@GUILE_EFFECTIVE_VERSION[@]|$(GUILE_EFFECTIVE_VERSION)|g' $< > $@ xapian_wrap.cc xapian/wrap.scm &: xapian.i xapian-head.i xapian-headers.i except.i $(MKDIR_P) xapian $(SWIG_GEN)$(SWIG) $(SWIG_FLAGS) -I$(srcdir) -scmstub -o xapian_wrap.cc -guile -package xapian -c++ $< # Guile code moddir = $(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION) godir = $(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache SOURCES = xapian/error.scm xapian/wrap.scm xapian/xapian.scm GOBJECTS = $(SOURCES:%.scm=%.go) nobase_mod_DATA = $(SOURCES) nobase_go_DATA = $(GOBJECTS) CLEANFILES += $(GOBJECTS) GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat %.go: %.scm $(GUILD_GEN)$(builddir)/pre-inst-env $(GUILD) compile $(GUILE_WARNINGS) -o "$@" "$<" # Building xapian/xapian.scm additionally requires the libguilexapian # shared library. xapian/xapian.go: xapian/xapian.scm libguilexapian-@GUILE_EFFECTIVE_VERSION@.la # Tests TEST_EXTENSIONS = .scm SCM_TESTS = tests/xapian.scm TESTS = $(SCM_TESTS) SCM_LOG_DRIVER = \ $(builddir)/pre-inst-env \ $(GUILE) --no-auto-compile -s \ $(builddir)/build-aux/test-driver.scm # Distribution EXTRA_DIST = $(TESTS) $(SOURCES) except.i xapian.i.in xapian-head.i xapian-headers.i # Build website website: website/index.html CLEANFILES += website/index.html website/index.html: README.org $(EMACS_GEN)$(EMACS) -Q --batch --load build-aux/build-home-page.el --funcall build-website