X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/blobdiff_plain/7b8ff279e7304e41b243459d78c3b6703bb8c3f5..2fb0f2a61ed61747f7b8c206849dadc41079e850:/Makefile.am diff --git a/Makefile.am b/Makefile.am index 42cb2e1..20c8dc3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -26,7 +26,6 @@ include $(top_srcdir)/vars.am SUBDIRS = -pkgdata_DATA = image_DATA = image_SCRIPTS = @@ -35,22 +34,25 @@ SUBDIRS += . ACLOCAL_AMFLAGS = -Im4 ###-------------------------------------------------------------------------- +### A library of common code. + +noinst_LIBRARIES += librunlisp.a +librunlisp_a_SOURCES = + +librunlisp_a_SOURCES += common.c common.h +librunlisp_a_SOURCES += lib.c lib.h +librunlisp_a_SOURCES += mdwopt.c mdwopt.h +librunlisp_a_SOURCES += sha256.c sha256.h + +###-------------------------------------------------------------------------- ### The main driver program. bin_PROGRAMS += runlisp runlisp_SOURCES = runlisp.c -runlisp_SOURCES += common.c common.h -runlisp_SOURCES += lib.c lib.h -runlisp_SOURCES += mdwopt.c mdwopt.h +runlisp_LDADD = librunlisp.a man_MANS += runlisp.1 - -noinst_PROGRAMS += old-runlisp -old_runlisp_SOURCES = old-runlisp.c -old_runlisp_SOURCES += lib.c lib.h - -noinst_PROGRAMS += toy -toy_SOURCES = toy.c -toy_SOURCES += lib.c lib.h +doc_DATA += runlisp.pdf +EXTRA_DIST += runlisp.1.in ###-------------------------------------------------------------------------- ### Additional machinery. @@ -58,67 +60,128 @@ toy_SOURCES += lib.c lib.h pkgdata_DATA += eval.lisp EXTRA_DIST += eval.lisp +pkgdata_SCRIPTS += dump-ecl +EXTRA_DIST += dump-ecl + +bin_PROGRAMS += query-runlisp-config +query_runlisp_config_SOURCES = query-runlisp-config.c +query_runlisp_config_LDADD = librunlisp.a +man_MANS += query-runlisp-config.1 +doc_DATA += query-runlisp-config.pdf +EXTRA_DIST += query-runlisp-config.1.in + +man_MANS += runlisp.conf.5 +doc_DATA += runlisp.conf.pdf +EXTRA_DIST += runlisp.conf.5.in + +EXTRA_DIST += runlisp-base.conf +install-data-hook:: + $(MKDIR_P) $(DESTDIR)$(pkgconfdir)/runlisp.d + cp $(srcdir)/runlisp-base.conf \ + $(DESTDIR)$(pkgconfdir)/runlisp.d/0base.conf +uninstall-hook:: + rm -f $(DESTDIR)$(pkgconfdir)/runlisp.d/0base.conf + +EXTRA_DIST += runlisp.conf +install-data-hook:: + $(MKDIR_P) $(DESTDIR)$(pkgconfdir) + if ! [ -f $(DESTDIR)$(pkgconfdir)/runlisp.conf ]; then \ + cp $(srcdir)/runlisp.conf $(DESTDIR)$(pkgconfdir)/; \ + fi +uninstall-hook:: + rm -f $(DESTDIR)$(pkgconfdir)/runlisp.conf + ###-------------------------------------------------------------------------- ### Image dumping. bin_PROGRAMS += dump-runlisp-image dump_runlisp_image_SOURCES = dump-runlisp-image.c -dump_runlisp_image_SOURCES += common.c common.h -dump_runlisp_image_SOURCES += lib.c lib.h -dump_runlisp_image_SOURCES += mdwopt.c mdwopt.h +dump_runlisp_image_LDADD = librunlisp.a man_MANS += dump-runlisp-image.1 +doc_DATA += dump-runlisp-image.pdf +EXTRA_DIST += dump-runlisp-image.1.in -DUMP_RUNLISP_IMAGE = $(v_dump)./dump-runlisp-image \ - -f -c$(srcdir)/runlisp.conf -O$@ +DUMP_RUNLISP_IMAGE = $(v_dump)./dump-runlisp-image -f -O$@ \ + -c$(srcdir)/runlisp-base.conf \ + -odata-dir=$(srcdir) v_dump = $(v_dump_@AM_V@) v_dump_ = $(v_dump_@AM_DEFAULT_V@) v_dump_0 = @echo " DUMP $@"; +IMAGES = +noinst_DATA += $(IMAGES) + if DUMP_SBCL -image_DATA += sbcl+asdf.core +IMAGES += sbcl+asdf.core CLEANFILES += sbcl+asdf.core -sbcl+asdf.core: dump-runlisp-image runlisp.conf +sbcl+asdf.core: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) sbcl endif if DUMP_CCL -image_DATA += ccl+asdf.image +IMAGES += ccl+asdf.image CLEANFILES += ccl+asdf.image -ccl+asdf.image: dump-runlisp-image runlisp.conf +ccl+asdf.image: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) ccl endif if DUMP_CLISP -image_DATA += clisp+asdf.mem +IMAGES += clisp+asdf.mem CLEANFILES += clisp+asdf.mem -clisp+asdf.mem: dump-runlisp-image runlisp.conf +clisp+asdf.mem: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) clisp endif if DUMP_ECL -image_SCRIPTS += ecl+asdf +IMAGES += ecl+asdf CLEANFILES += ecl+asdf -ecl+asdf: dump-runlisp-image runlisp.conf - $(DUMP_RUNLISP_IMAGE) -odata-dir=$(srcdir) ecl +ecl+asdf: dump-runlisp-image runlisp-base.conf dump-ecl + $(DUMP_RUNLISP_IMAGE) ecl endif if DUMP_CMUCL -image_DATA += cmucl+asdf.core +IMAGES += cmucl+asdf.core CLEANFILES += cmucl+asdf.core -cmucl+asdf.core: dump-runlisp-image runlisp.conf +cmucl+asdf.core: dump-runlisp-image runlisp-base.conf $(DUMP_RUNLISP_IMAGE) cmucl endif +install-data-hook:: + mkdir -p $(DESTDIR)$(imagedir) + set -e; for i in $(IMAGES); do \ + j=$$(readlink $$i); \ + cp $$j $(DESTDIR)$(imagedir)/$$j.new && \ + mv $(DESTDIR)$(imagedir)/$$j.new \ + $(DESTDIR)$(imagedir)/$$j; \ + ln -sf $$j $(DESTDIR)$(imagedir)/$$i; \ + done + +uninstall-hook:: + set -e; for i in $(IMAGES); do \ + if j=$$(readlink $(DESTDIR)$(imagedir)/$$i); then \ + case $$j in \ + $$i-*[!0-9a-f]) ;; \ + $$i-*) rm -f $(DESTDIR)$(imagedir)/$$j ;; \ + esac; \ + fi; \ + rm -f $(DESTDIR)$(imagedir)/$$i; \ + done + ###-------------------------------------------------------------------------- -### Benchmarking and testing. +### Other subdirectories. +## Documentation. +SUBDIRS += doc + +## Testing. +SUBDIRS += t + +## Benchmarking. if BENCHMARK SUBDIRS += bench endif -SUBDIRS += t - ###-------------------------------------------------------------------------- ### Distribution.