aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-06-13 18:01:25 +0200
committerLudovic Courtès <ludo@gnu.org>2012-06-13 18:01:25 +0200
commitaf51c820b160dbb3c51a740c16c390c6db456914 (patch)
tree7a7280d5a22ab8b9eea7ec3a2704a0752f0469b2 /Makefile.am
parent2acb2cb6d006a4799ae9f477c22177824fcc8f52 (diff)
downloadguix-af51c820b160dbb3c51a740c16c390c6db456914.tar
guix-af51c820b160dbb3c51a740c16c390c6db456914.tar.gz
Add a build system.
* configure.ac, Makefile.am: New files.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am62
1 files changed, 62 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000000..5f618505dd
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,62 @@
+# 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/>.
+
+MODULES = \
+ guix.scm \
+ guix/derivations.scm \
+ guix/gnu-build-system.scm \
+ guix/http.scm \
+ guix/store.scm \
+ guix/utils.scm \
+ guix/build/gnu-build-system.scm \
+ guix/build/http.scm \
+ guix/build/utils.scm
+
+GOBJECTS = $(MODULES:%.scm=%.go)
+
+nobase_dist_guilemodule_DATA = $(MODULES)
+nobase_nodist_guilemodule_DATA = $(GOBJECTS)
+
+TESTS = \
+ tests/builders.scm \
+ tests/derivations.scm \
+ tests/utils.scm
+
+TESTS_ENVIRONMENT = \
+ NIXPKGS="$(NIXPKGS)" \
+ GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
+ $(GUILE) -L "$(top_srcdir)"
+
+CLEANFILES = $(GOBJECTS) *.log
+
+.scm.go:
+ $(MKDIR_P) `dirname "$@"`
+ GUILE_AUTO_COMPILE=0 \
+ GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
+ $(GUILD) compile -Wformat -Wunbound-variable -Warity-mismatch \
+ -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