summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: fb22bef2a729c58f57c892381828f3cac4382771 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Guix --- Nix package management from Guile.         -*- coding: utf-8 -*-
# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of Guix.
#
# Guix 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.
#
# Guix 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 Guix.  If not, see <http://www.gnu.org/licenses/>.

bin_SCRIPTS = guix-build

MODULES =					\
  guix/utils.scm				\
  guix/derivations.scm				\
  guix/build-system.scm				\
  guix/build-system/gnu.scm			\
  guix/http.scm					\
  guix/store.scm				\
  guix/build/gnu-build-system.scm		\
  guix/build/http.scm				\
  guix/build/utils.scm				\
  guix/packages.scm				\
  guix.scm					\
  distro.scm					\
  distro/base.scm

GOBJECTS = $(MODULES:%.scm=%.go)

nobase_dist_guilemodule_DATA = $(MODULES)

patchdir = $(pkgdatadir)/patches
dist_patch_DATA =				\
  distro/patches/binutils-ld-new-dtags.patch	\
  distro/patches/guile-1.8-cpp-4.5.patch	\
  distro/patches/m4-readlink-EINVAL.patch	\
  distro/patches/m4-s_isdir.patch		\
  distro/patches/make-impure-dirs.patch		\
  distro/patches/findutils-absolute-paths.patch	\
  distro/patches/readline-link-ncurses.patch

nobase_nodist_guilemodule_DATA = $(GOBJECTS)

TESTS =						\
  tests/builders.scm				\
  tests/derivations.scm				\
  tests/utils.scm				\
  tests/build-utils.scm				\
  tests/packages.scm

TESTS_ENVIRONMENT =								\
  NIX_HASH="$(NIX_HASH)";							\
  NIX_INSTANTIATE="$(NIX_INSTANTIATE)";						\
  NIXPKGS="$(NIXPKGS)";								\
  DISTRO_PATCH_DIRECTORY="$(top_srcdir)/distro/patches"				\
  GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH";	\
  export NIX_HASH NIX_INSTANTIATE NIXPKGS GUILE_LOAD_COMPILED_PATH;

LOG_COMPILER =					\
  $(GUILE) --no-auto-compile -L "$(top_srcdir)"

EXTRA_DIST =					\
  srfi/srfi-64.scm				\
  srfi/srfi-64.upstream.scm			\
  tests/test.drv				\
  build-aux/config.rpath			\
  release.nix					\
  $(TESTS)

CLEANFILES = $(GOBJECTS) *.log

.scm.go:
	$(MKDIR_P) `dirname "$@"`
	NIX_INSTANTIATE="$(NIX_INSTANTIATE)"					\
	NIXPKGS="$(NIXPKGS)"							\
	LIBGCRYPT="$(LIBGCRYPT)"						\
	DISTRO_PATCH_DIRECTORY="$(top_srcdir)/distro/patches"			\
	DISTRO_INSTALLED_PATCH_DIRECTORY="$(patchdir)"				\
	GUILE_AUTO_COMPILE=0							\
	GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH"	\
	$(GUILD) compile -L "$(top_srcdir)"					\
	  -Wformat -Wunbound-variable -Warity-mismatch				\
	  --target="$(host)"							\
	  -o "$@" "$<"

SUFFIXES = .go

# 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.
guix_install_go_files = install-nobase_nodist_guilemoduleDATA
$(guix_install_go_files): install-nobase_dist_guilemoduleDATA

SUBDIRS = po

ACLOCAL_AMFLAGS = -I m4
AM_DISTCHECK_CONFIGURE_FLAGS =					\
  --with-nixpkgs=$(NIXPKGS) --with-nix-prefix="$(NIX_PREFIX)"