summary refs log tree commit diff
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.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