summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
authorArun Isaac2025-11-17 20:12:43 +0000
committerArun Isaac2025-11-17 21:27:11 +0000
commit980bc6e972976a15ef64ed333451971c103941f4 (patch)
tree1c411e18e3c889d43d865fa4e5d4cd4479c6aefa /Makefile
parentc031ce4dd7e2328436d90961fc7da7f61623a288 (diff)
downloadrun64-980bc6e972976a15ef64ed333451971c103941f4.tar.gz
run64-980bc6e972976a15ef64ed333451971c103941f4.tar.lz
run64-980bc6e972976a15ef64ed333451971c103941f4.zip
Makefile: Add release building rules.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile24
1 files changed, 24 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 905b88c..2835c49 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,12 @@
 # You should have received a copy of the GNU General Public License
 # along with run64.  If not, see <https://www.gnu.org/licenses/>.
 
+project = run64
+version = 0.1.0
+
+GIT = git
+GPG = gpg
+LZIP = lzip
 SED = sed
 
 prefix ?= /usr/local
@@ -23,6 +29,9 @@ exec_prefix ?= $(prefix)
 bindir ?= $(exec_prefix)/bin
 
 scripts = $(wildcard bin/*)
+distribute_files = $(scripts) guile-pre-inst-env \
+                   guix.scm .guix/run64-package.scm \
+                   Makefile COPYING README.md
 
 .PHONY: all check install
 
@@ -36,3 +45,18 @@ install: $(scripts)
         # guile in your PATH. We want to use that guile and not put in
         # a specific guile.
 	$(SED) -i 's|$$(dirname $$0)/run64|$(bindir)/run64|' $(bindir)/guile-run64
+
+# 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 $<
+