diff options
author | Arun Isaac | 2025-01-28 00:42:01 +0000 |
---|---|---|
committer | Arun Isaac | 2025-01-28 01:06:59 +0000 |
commit | 26bd1eded10a0b493302dbff1c1a9db6a6b04642 (patch) | |
tree | c856cad3db6ca63bb2ddc9c4d85d83955cd34690 /Makefile | |
parent | 5ea1acc60b6c03181df57e715d8fcef90c36bd73 (diff) | |
download | ravanan-26bd1eded10a0b493302dbff1c1a9db6a6b04642.tar.gz ravanan-26bd1eded10a0b493302dbff1c1a9db6a6b04642.tar.lz ravanan-26bd1eded10a0b493302dbff1c1a9db6a6b04642.zip |
Makefile: Add release tarball generation rules.
* Makefile (GIT, GPG, LZIP, config_file_template, distribute_files,
dist_archive): New variables.
(dist, distsign, $(dist_archive), %.asc): New rules.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -19,8 +19,11 @@ project = ravanan version = 0.1.0 +GIT ?= git +GPG ?= gpg GUILD ?= guild GUILE ?= guile +LZIP ?= lzip NODE ?= node SED ?= sed @@ -33,12 +36,17 @@ guile_effective_version = 3.0 top_level_module_dir = $(project) config_file = $(top_level_module_dir)/config.scm +config_file_template = $(config_file).in sources = $(filter-out $(config_file), \ $(wildcard $(top_level_module_dir)/*.scm) \ $(wildcard $(top_level_module_dir)/work/*.scm)) objects = $(sources:.scm=.go) $(config_file:.scm=.go) scripts = $(wildcard bin/*) tests = $(wildcard tests/*.scm) $(wildcard tests/work/*.scm) +distribute_files = $(sources) $(config_file_template) $(scripts) \ + $(tests) pre-inst-env guix.scm \ + .guix/ravanan-package.scm Makefile \ + COPYING README.md scmdir = $(datarootdir)/guile/site/$(guile_effective_version) godir = $(libdir)/guile/$(guile_effective_version)/site-ccache @@ -67,5 +75,19 @@ install: $(sources) $(config_file) $(objects) $(scripts) install -D $$object $(godir)/$$object; \ done +# Build distribution tarball + +dist_archive = $(project)-$(version).tar.lz + +dist: $(dist_archive) +distsign: $(dist_archive).asc + +$(dist_archive): .git/refs/heads/main + $(GIT) archive --prefix $(basename $(basename $@))/ --format=tar main $(distribute_files) \ + | $(LZIP) --force --output $@ + +%.asc: % + $(GPG) --detach-sign --armor $< + clean: rm -f $(objects) $(config_file) |