summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-07-21 07:13:21 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-07-21 07:13:21 -0700
commit35a0332d1dcf2dbd743e5a24cc6f7d2b15fb8b8c (patch)
tree03892007f5955361413aea32fea2ca7bacf66de3 /Makefile
parent14cb5835e5ecb14be8ecc6ac2a6811e4bb143354 (diff)
downloadtxr-35a0332d1dcf2dbd743e5a24cc6f7d2b15fb8b8c.tar.gz
txr-35a0332d1dcf2dbd743e5a24cc6f7d2b15fb8b8c.tar.bz2
txr-35a0332d1dcf2dbd743e5a24cc6f7d2b15fb8b8c.zip
Install a txrlisp hard link.
* Makefile (LN): New variable. On platforms where you can't hard link, this can be replaced with some other command. Possibly "true" not to have the alternative executable name created at all. (HARDLINK): New macro. (install): Use HARDLINK to create a link named txrlisp pointing to the same file as txr in the destination directory. * txr.c (txr_main): If the executable ends with "lisp" (or "lisp.exe" on Windows), then default the txr_lisp_p variable to t, which has the effect as if --lisp had been processed. * txr.1: Documented.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile13
1 files changed, 13 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 4ca6058f..6aa30b3a 100644
--- a/Makefile
+++ b/Makefile
@@ -164,6 +164,8 @@ $(call SH,$(TXR) --in-package=sys --compile=$<:$@.tmp)
$(call SH,mv $@.tmp $@)
endef
+LN := ln
+
ifneq ($(top_srcdir),)
dbg/%.o: $(top_srcdir)%.c
$(call COMPILE_C_WITH_DEPS,$(DBG_ONLY_FLAGS))
@@ -514,12 +516,23 @@ define INSTALL
done)
endef
+define HARDLINK
+ $(call ABBREV3,HARDLINK,$(1),$(2))
+ $(call SH,$(LN) -f $(1) $(2))
+endef
+
PREINSTALL := :
.PHONY: install
install: $(PROG)
$(V)$(PREINSTALL)
$(call INSTALL,0755,txr$(EXE),$(DESTDIR)$(bindir))
+ $(call HARDLINK,\
+ $(DESTDIR)$(bindir)/txr$(EXE),\
+ $(DESTDIR)$(bindir)/txrlisp$(EXE))
+ $(call HARDLINK,\
+ $(DESTDIR)$(bindir)/txr$(EXE),\
+ $(DESTDIR)$(bindir)/txrvm$(EXE))
$(call INSTALL,0444,$(top_srcdir)LICENSE,$(DESTDIR)$(datadir))
$(call INSTALL,0444,$(top_srcdir)METALICENSE,$(DESTDIR)$(datadir))
$(call INSTALL,0444,$(top_srcdir)txr.1,$(DESTDIR)$(mandir)/man1)