summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2022-03-14 10:15:37 +0530
committerArun Isaac2022-03-14 10:15:37 +0530
commit9ccc8f8f1d0732a6716a569fa05854d6fc2c23c3 (patch)
treec70f1576adcbe02e6938e2fe0df97ee4a95e2353
parente62965d54e3251c737202819fc031ba4bfc55596 (diff)
downloadtissue-9ccc8f8f1d0732a6716a569fa05854d6fc2c23c3.tar.gz
tissue-9ccc8f8f1d0732a6716a569fa05854d6fc2c23c3.tar.lz
tissue-9ccc8f8f1d0732a6716a569fa05854d6fc2c23c3.zip
Makefile: Install guile libraries.
* Makefile (project, guile_effective_version, GUILD, libdir,
datarootdir, top_level_module_dir, sources, objects, scmdir, godir):
New variables.
* Makefile (all): Depend on $(objects).
(%.go): New target.
(install): Install $(sources) and $(objects).
-rw-r--r--Makefile21
1 files changed, 20 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index cc864c8..ce6142c 100644
--- a/Makefile
+++ b/Makefile
@@ -16,17 +16,36 @@
 # You should have received a copy of the GNU General Public License
 # along with tissue.  If not, see <https://www.gnu.org/licenses/>.
 
+project = tissue
+# FIXME: Do not hardcode the effective version.
+guile_effective_version = 3.0
+
+GUILD ?= guild
+
 prefix ?= /usr/local
 exec_prefix ?= $(prefix)
 bindir ?= $(exec_prefix)/bin
+libdir ?= $(exec_prefix)/lib
+datarootdir ?= $(prefix)/share
 
+top_level_module_dir = $(project)
+sources = $(wildcard $(top_level_module_dir)/*.scm)
+objects = $(sources:.scm=.go)
 scripts = $(wildcard bin/*)
 
+scmdir = $(datarootdir)/guile/site/$(guile_effective_version)/$(top_level_module_dir)
+godir = $(libdir)/guile/$(guile_effective_version)/site-ccache/$(top_level_module_dir)
+
 .PHONY: all check install
 
-all: ;
+all: $(objects)
+
+%.go: %.scm
+	$(GUILD) compile -L . -o $@ $<
 
 check: ;
 
 install: $(scripts)
 	install -D $^ --target-directory $(bindir)
+	install -D $(sources) --target-directory $(scmdir)
+	install -D $(objects) --target-directory $(godir)