SummaryRefsLogTreeCommitDiffStats
path: root/Makefile.am
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2015-10-17 20:05:08 +0200
committerMathieu Lirzin <mthl@gnu.org>2016-05-07 23:38:53 +0200
commit8952d2dc442913f0ecf1fa896d97c882a5daa664 (patch)
tree11492526f1a25cbdecd40f899f2ba19adfa90433 /Makefile.am
parentb59f2f5ea6f99681ca61f9342206c11f3a165b2c (diff)
downloadmcron-8952d2dc442913f0ecf1fa896d97c882a5daa664.tar.gz
mcron-8952d2dc442913f0ecf1fa896d97c882a5daa664.tar.bz2
mcron-8952d2dc442913f0ecf1fa896d97c882a5daa664.zip
build: Support VPATH builds.
This allows using 'mcron' before it is installed without hardcoding the local build environment in the executable. * build-aux/pre-inst-env.in: New script. * configure.ac (AC_CONFIG_FILES): Create it. (AC_CONFIG_HEADER): Add 'config.h'. (moduledir): New variable. (PACKAGE_LOAD_PATH): new C preprocessor macro. * mcron.c: Include "config.h". (main): Don't overwrite Guile load paths. (inner_main): Prepend Mcron modules load paths. * Makefile.am (.scm.go, doc/mcron.1): Use 'pre-inst-env'. (mcron_CFLAGS): Remove GUILE_LOAD_PATH macro. (noinst_SCRIPTS): New variable. * .gitignore: Update.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am7
1 files changed, 4 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index 8c7b4d0..c2d42b4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,7 +18,7 @@
bin_PROGRAMS = mcron
mcron_SOURCES = mcron.c
-mcron_CFLAGS = @GUILE_CFLAGS@ -DGUILE_LOAD_PATH=\"$(datadir):./scm:...\"
+mcron_CFLAGS = @GUILE_CFLAGS@
mcron_DEPENDENCIES = $(GOBJECTS) # Build Guile modules before linking.
mcron_LDADD = @GUILE_LIBS@
@@ -65,13 +65,14 @@ dist_mcronmodule_DATA = \
$(AM_V_GUILEC)$(MKDIR_P) `dirname "$@"` ; \
unset GUILE_LOAD_COMPILED_PATH ; \
LC_ALL=C \
- $(GUILD) compile \
+ $(top_builddir)/pre-inst-env $(GUILD) compile \
--load-path="$(top_builddir)/scm" \
--load-path="$(top_srcdir)/scm" \
--warn=format --warn=unbound-variable --warn=arity-mismatch \
--target="$(host)" --output="$@" "$<"
SUFFIXES = .go
+noinst_SCRIPTS = pre-inst-env
dist-hook: gen-ChangeLog
@@ -128,7 +129,7 @@ dist_man_MANS = doc/mcron.1
# elemental man page. Will only work once the mcron program is installed.
doc/mcron.1: mcron.c
-$(AM_V_HELP2MAN)$(MKDIR_P) `dirname "$@"` ; \
- $(HELP2MAN) \
+ $(top_builddir)/pre-inst-env $(HELP2MAN) \
-n 'a program to run tasks at regular (or not) intervals' \
./mcron > $@