Revised method for re-reading the executable as data.
[rrq/newlisp/packnl.git] / Makefile
index 3c81875b1860fb0a3acee564f132de75e286ddcd..480c1083844538bca6b7a355af9d5c6bb7bd3ef4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,35 @@
+all: packnl packnl.8 incore.lsp.8 main-args.lsp.8
+
 packnl: packnl.lsp incore.lsp main-args.lsp
        newlisp -x incore.lsp $@
        chmod a+x $@
        echo 'xxxxxxxxxxxxxxxxxxxxxx''xxxxxxxxxxxxxxxxxx' >> $@
        for F in $^ ; do echo "$$F\n$$(stat -c %s $$F)" ; cat $$F ; done >> $@
+
+%.8: %.8.adoc
+       asciidoctor -b manpage $^
+
+clean:
+       rm -f packnl packnl.8 incore.lsp.8
+
+# Installation targets
+
+BINFILES = packnl
+MAN8FILES = packnl.8 incore.lsp.8 main-args.lsp.8
+LSPMODFILES = incore.lsp main-args.lsp
+
+BINDIR = $(DESTDIR)/usr/bin
+MAN8DIR = $(DESTDIR)/usr/share/man/man8
+LSPMODDIR = $(DESTDIR)/usr/share/newlisp/modules
+
+INSTALLTARGETS =
+INSTALLTARGETS += $(addprefix $(BINDIR)/,$(BINFILES))
+INSTALLTARGETS += $(addprefix $(MAN8DIR)/,$(MAN8FILES))
+INSTALLTARGETS += $(addprefix $(LSPMODDIR)/,$(LSPMODFILES))
+
+INSTALL = install
+
+$(BINDIR)/% $(MAN8DIR)/% $(LSPMODDIR)/%: %
+       $(INSTALL) -D -T $< $@
+
+install: $(INSTALLTARGETS)